Inverso [RESOLVIDO]

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…

Então use a opção b.

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…