palíndromo

3 respostas
rogeriovaladaoti

Um palíndromo é uma seqüência de caracteres que é lida da esquerda para a direita ou da direita para a
esquerda. Por exemplo, cada um dos seguintes inteiros de 5 dígitos é um palíndromo: 12321, 55555, 45554
e 11611. Escreva um aplicativo que leia um inteiro de 5 dígitos e determine se ele é ou não um palíndromo.
Se o número não for de 5 dígitos, exiba uma mensagem de erro e permita que o usuário insira um novo
valor. Dica: É possível resolver a questão utilizando somente os operadores %, / e as estruturas enquanto e
se.

Galera preciso resolver este exercicio usando apenas os operadores %, / e as estruturas while e if.

package estruturaRepeticaoEnquanto;

import javax.swing.JOptionPane;

public class Ex165Palindromo {
	public static void main(String[] args) {

		String num = "5";
		String aux;

		while(num.length() != 5) {
			num = JOptionPane.showInputDialog("Digite uma Numero de 5 Digitos: ");
		}

			aux = new StringBuilder(num).reverse().toString();

			if (num.equals(aux))
				JOptionPane.showMessageDialog(null,"É um palindromo.");
			else
				JOptionPane.showMessageDialog(null,"Não é um palindromo.");
		}
	}

3 Respostas

ViniGodoy
  1. Desenhe uma frase qualquer, que possa ser um palindromo, como:
    SOCORRAM ME SUBINO ONIBUS EM MARROCOS

  2. Numere cada uma das letras, iniciando em 0. Esse é o índice de letra.

  3. Pense em como vc poderia comparar os índices dessas letras (o último com o primeiro, o penultimo com o segundo, etc).

  4. Pense em quando vc poderá parar de fazer a comparação.

Se quiser a resposta pronta, você poderia obte-la usando a busca do fórum. Mas recomendo que tente resolver o exercício, pois ele é bem básico.

Diego_Marinho
rogeriovaladaoti:
Um palíndromo é uma seqüência de caracteres que é lida da esquerda para a direita ou da direita para a esquerda. Por exemplo, cada um dos seguintes inteiros de 5 dígitos é um palíndromo: 12321, 55555, 45554 e 11611. Escreva um aplicativo que leia um inteiro de 5 dígitos e determine se ele é ou não um palíndromo. Se o número não for de 5 dígitos, exiba uma mensagem de erro e permita que o usuário insira um novo valor. Dica: É possível resolver a questão utilizando somente os operadores %, / e as estruturas enquanto e se.

Galera preciso resolver este exercicio usando apenas os operadores %, / e as estruturas while e if.

package estruturaRepeticaoEnquanto;

import javax.swing.JOptionPane;

public class Ex165Palindromo {
	public static void main(String[] args) {

		String num = "5";
		String aux;

		while(num.length() != 5) {
			num = JOptionPane.showInputDialog("Digite uma Numero de 5 Digitos: ");
		}

			aux = new StringBuilder(num).reverse().toString();

			if (num.equals(aux))
				JOptionPane.showMessageDialog(null,"É um palindromo.");
			else
				JOptionPane.showMessageDialog(null,"Não é um palindromo.");
		}
	}

Olá rogeriovaladaoti,

Abaixo segue um código que fiz na facul, acho q deverá ajudar no que você quer fazer.
Espero ter ajudado.
[]'s.

package exercicio05;

import javax.swing.JOptionPane;

/*
 * Escreva um programa que receba uma String e verifique se é um palíndromo,
 * isto é, da esquerda para direita ou da direita para a esquerda têm-se a 
 * mesma seqüência de caracteres. Exemplos: ?ama?, ?ovo?, ?asa?, ?A DIVA EM
 * ARGEL ALEGRA-ME A VIDA?.
 *
 * Data: 03/05/2006
 *
 * Autores: Diego Marinho
 */
public class Exercicio05 {
	
	public static void main(String[] args) {
		int tam;
		int x = 0;
		String palavra;
		String saida1 = "";
		String saida2 = "";	
		palavra = JOptionPane.showInputDialog("Digite uma frase");
		tam = palavra.length();

		do { // verifica se caracter é letra ou numero
			if((Character.isLetter(palavra.charAt(x)))||(Character.isDigit(palavra.charAt(x))))
				saida1 += palavra.charAt(x);			
				x++;
		} while(x < tam);

		for(int y = (saida1.length()-1); y >= 0; y--)	// inversão da saida1
			saida2 += saida1.charAt(y);	

		if((saida1.toLowerCase()).equals(saida2.toLowerCase())){	// compara as saidas - trasformação de tamaho e compara
			System.out.println("É PALÍNDROMO!!!");
		}else{
			System.out.println("NÃO É PALÍNDROMO!!!");
		}
	}
}
rogeriovaladaoti

Galera consegui resolver so com enquanto e % e / valews…

package estruturaRepeticaoEnquanto;

import javax.swing.JOptionPane;

public class Ex165PalindromoII {
	public static void main(String[] args) {

		int num = 0;
		int n1, n2, n3, n4, n5;

		while (num >= 0) {
			num = Integer.parseInt(JOptionPane.showInputDialog("Digite uma Numero de 5 Digitos: "));
			if(num < 0){
				break;
			}

			if (num > 99999 || num <= 9999) {
				JOptionPane.showMessageDialog(null, "Numero Invalido");	
			} 
			else {

				n5 = num % 10;
				num = num / 10;

				n4 = num % 10;
				num = num / 10;

				n3 = num % 10;
				num = num / 10;

				n2 = num % 10;
				num = num / 10;

				n1 = num % 10;
				num = num / 10;

				if (n5 == n1 && n4 == n2) {
					JOptionPane.showMessageDialog(null, " É um palindromo.");
				} else {
					JOptionPane.showMessageDialog(null, " NÃO é palindromo.");
				}
			}
		}
	}
}
Criado 24 de abril de 2011
Ultima resposta 1 de mai. de 2011
Respostas 3
Participantes 3