Inversão de inteiro

10 respostas
ppontes

Ae galera estou querendo fazer um aplicativo em que ele recebe um inteiro qualquer e inverta o mesmo.

Por exemplo, dado um número 7.631, um método deve retornar 1.367.

Como eu posso fazer essa inversão sem utilização da API do JAVA ou Classes específicas???

VLW
fico grato pela ajuda
8)

10 Respostas

MarcioTavares

Como assim? Vc quer fazer essa inversão na mão?

Se for isso, transforma esse número em String e faz um for do último até o primeiro caracter, concatenando em outro atributo de saída.
Não sei se tem alguma solução matemática pra isso. Acho que não.

Foxlol

Eu tava tentando faze isso matematicamente esses dias.

Usando os recursos da linguagem fica fácil. Só usar a cabeça

:smiley:

ppontes

Porra é foda meu irmão eu espero uma resposta concreta e vem um cara dizendo que é só usar os recursos da linguagem, porra velho isso é o óbvio. Se fosse por isso nem postaria aqui esse post. Mas valeu né pela sua resposta pelo menos participou.

Mais alguém ae pode ajudar aqui com esse post??? Se tiver uma solução que seja não mais tão chocante como a do Foxlol põe aí que ficarei grato galera.

VLW ae
FLW

J

ppontes:
Porra é foda meu irmão eu espero uma resposta concreta e vem um cara dizendo que é só usar os recursos da linguagem, porra velho isso é o óbvio. Se fosse por isso nem postaria aqui esse post. Mas valeu né pela sua resposta pelo menos participou.

Mais alguém ae pode ajudar aqui com esse post??? Se tiver uma solução que seja não mais tão chocante como a do Foxlol põe aí que ficarei grato galera.

VLW ae
FLW

Eu também entendi que você queria fazer isso matematicamente sem o uso da API. Eu pessoalmente não sei como se faz nem com o uso e nem sem o uso da API, mas depois dessa educação toda mostrada aqui, não estou nem ai também.

cu_ringa
public int inverterInteiro(int num){
		StringBuffer sb = new StringBuffer(String.valueOf(num));
		return new Integer(sb.reverse().toString()).intValue(); 
	}
ppontes

juzepeleteiro larga de ser idiota eu quero algo concreto, agora se tu não sabe o que é concreto vai ver no dicionário que la tem.

L

Assim funciona mas não sei se é o melhor jeito:

int x = 7631;
int z = 0;
			
			
while (x % 10 != 0) {
	z = (z*10) + (x % 10);
	x = x / 10;				
}
System.out.print(z);
Cocota

Eu também acho porra foda. Se jogassem em mim, eu ficaria puto.

Pontes,

Matematicamente eu não consigo imaginar uma maneira pra inverter esses números. Eu acho que você deveria transformá-lo numa String e trabalhar com ela de maneira fácil (como já foi dito aqui neste tópico).

Transforme o número inicial numa String, e depois caracter por caracter de trás para a frente, pegando o caracter atual e inserindo numa outra String que você vai percorrer do início para o fim.

Um for que percorre duas listas, pode ser escrito assim.

/* Imagine que eu declarei e inicializei as listas abaixo */
  int lista1[];
  int lista2[];

/* Pegar o tamanho da lista01 */
  int TAM = lista1.length;

/* Fazer o for co cuidado para não colocar indices fora do array */
  for (int i = TAM - 1, int j = 0, i > 0; i--,j++ )
  {
       /* Agora voce deve pegar o valor da lista1 e colocar na lista2 */
       lista2[ j ] = lista1[ i ];
  }

Para String você vai fazer operações parecidas, não idênticas. Então agora é a sua vez de correr atrás da resposta. Vá pra API veja a classe java.lang.String

API : String

ppontes

Pôw galera valeu aí pelas respostas e foi mau ae pelas minhas respostas ignorantes, o problema é que eu esperava uma solução e não respostas “vagas”, pesso desculpas. A solução do lavh matematicamente deu certo.

VLW :thumbup:

cv1

ppontes, da proxima, tenta fazer a licao de casa sozinho, ta? :wink:

Criado 30 de julho de 2006
Ultima resposta 30 de jul. de 2006
Respostas 10
Participantes 8