Pessoal o código que vou postar é para String como eu faria usando a mesma lógica para Inteiro???
[code]String aux ;
aux = JOptionPane.showInputDialog("Digite:");
if (aux == null){
JOptionPane.showMessageDialog(null, "CANCELOU!!!");
}
else{
for (int i=aux.length() - 1; i >= 0 ; i--){
System.out.print(aux.charAt(i));
} [/code]
Você tem algumas alternativas:
a. Converter para String;
b. Usar os operadores de % e / numa variável para extraír o último número, e o operador de * para inseri-lo em outra variável.
Mas ai que ta esse código já é uma string… e ele imprime um valor inverso do que foi digitado eu quero que ele leia um inteiro e faça o msmo processo…
Eu faço assim… converto oq escrevi em Int… dai no for ali que eu faço o tratamento com os operadores ??
[code]String aux ;
int n;
aux = JOptionPane.showInputDialog("Digite:");
n = Integer.parseInt(aux);
if (aux == null){
JOptionPane.showMessageDialog(null, "CANCELOU!!!");
}
else{
for (int i=aux.length() - 1; i >= 0 ; i--){
System.out.print(aux.charAt(i));
}
[/code]
Bom, pense um pouco…
O que acontece quando usa o operador % com o valor 10 num número?
1234 % 10 = 4
E o que acontece quando você divide um número por 10, numa divisão inteira?
1234 / 10 = 123
E o que acontece quando vc multiplica um número por 10?
4 * 10 = 40
Agora é só pensar num for que inverta o número… se não conseguir, posto aqui a solução.
Alguma coisa já entendi e fiz… o ultimo numero consegui extrair veja ai oq eu fiz …
[code]String aux ;
int n,n1,n2;
aux = JOptionPane.showInputDialog("Digite:");
n = Integer.parseInt(aux);
if (aux == null){
JOptionPane.showMessageDialog(null, "CANCELOU!!!");
}
else{
for (int i=aux.length() - 1; i >= 0 ; i--){
n1 = n%10;
n2 = n1*10;
System.out.print(n2);
}[/code]
Tente rodar o programa abaixo numa execução passo a passo e ver funcionando.
String aux = JOptionPane.showInputDialog("Digite:");
if (aux == null){
JOptionPane.showMessageDialog(null, "CANCELOU!!!");
return;
}
int n = Integer.parseInt(aux);
int naux = n;
int invertido = 0;
while (naux > 0) {
int ultDigito = nAux % 10;
invertido = invertido * 10 + ultDigito;
naux = naux / 10;
}
System.out.println("Número: " + n + " Invertido: " + invertido);
Muito obrigado vou análisar o código agora e tentar fazer com o meu… brigadão msmo…