Dúvida: como detectar Palíndromos (12321, 45554, 11611)

Olá

Estou fazendo os exercícios do 4º capítulo do Java Como Programar 8ª edição.

O exercício 4.30 tem o seguinte enunciado:

“4.30 (Palíndromos) Um palíndromo é uma sequencia de caracteres que eh lida da esquerda para a direita ou da direita para a esquerda. Por exemplo, cada um dos seguintes inteiros de cinco dígitos é um palíndromo: 12321, 55555, 45554, e 11611. Escreva um aplicativo que lê um inteiro de 5 dígitos e determina 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 usuario insira um novo valor.”

Detalhe: não é “permitido” usar Strings, char, charAt, vetores ou matrizes. Apenas inteiros, +, -, *, / e %.
Pois neste ponto do livro esses conceitos de posicionamento e manipulação de caracteres específicos ainda não foi ensinado.

Com charAt e convertendo o inteiro pra String ou vetor de chars eu resolveria na boa :smiley:

Não estou conseguindo sacar como posso detectar isso sem comparar a primeira com a ultima posição e etc.
Existe algum jeito de saber que numero esta na primeira, na segunda posicao, somente trabalhando com inteiros e os operadores +,-,*,/,%?

Observe:

123456 % 10 = 6 123456 / 10 = 12345 12345 % 10 = 5 12345 / 10 = 1234

Problema resolvido.
Obrigado!

muito bom.

[quote=ViniGodoy]Observe:

123456 % 10 = 6 123456 / 10 = 12345 12345 % 10 = 5 12345 / 10 = 1234 [/quote]

Jeito mais fácil do que o que eu conhecia, enfim:
Há uma estrutura de dados chamada pilha, um modo a fazer isso é colocar numa pilha e ir verificando se o desempilhado é igual a primeira posição e ir fazendo isso até chegar na metade do array, mas é só um comentário, o jeito do ViniGodoy é muito mais fácil e rápido

[quote=ViniGodoy]Observe:

123456 % 10 = 6 123456 / 10 = 12345 12345 % 10 = 5 12345 / 10 = 1234 [/quote]

Certo, observe isso:

2 * 2 = 4;

E ai?