Oedem crescente

5 respostas
V

Galera vou colocar só código de verificação gostaria de saber pq não está rodando direito e só pela metade huauha…

eu tenho que verifica 3 numeros digitados pelo usuário e colocalos em ordem crescente mas está qdo digito nessa ordem… 1 , 10 , 5 … ele não coloca na ordem crescente… vou postar o código o de verificação e se alguem puder me dar um help gostaria muito…

if (n1 < n2 && n1 < n3 && n2 < n3 ){
          System.out.print("Crescente:" + n1 + n2 + n3); 
}
  else if(n2 < n1 && n2 < n3 && n1 < n3){
  System.out.print("Crescente:" + n2 + n1 + n3);
  }
  else if (n3 < n1 && n3 < n2 && n2 < n1){
  System.out.print("Crescente:" + n3 + n2 + n1);
  }

5 Respostas

robinsonbsilva

Jovem,

Caso não seja necessário vc cria toda a lógica, use a classe Math.max(4, 6, 2, 9);

“Me desculpa, eu nem li o problema…achei que fosse para pegar o maior”…foi mal!

Jeferson_Manetti

olá amigo…

seu problema e simples… vc esta comparando os valores como String…

logo a sequencia esta correta 1, 10, 5

tente trata-lo como inteiro… dai daria 1,5,10

tranquilo ^^

editando…

da proxima vez posta o codigo completo, isso facilita muito na hora de descobrir oq esta errado =)

evertonsilvagomesjav

pois éh mais tem lógica errada ai...ficaria dessa forma:

a=Integer.parseInt(JOptionPane.showInputDialog("digite o 1º (a) numero"));
b=Integer.parseInt(JOptionPane.showInputDialog("digite o 2°(b) numero"));
c=Integer.parseInt(JOptionPane.showInputDialog("digite o 3º (c) numero"));

if (a<b && a<c && b<c){
	JOptionPane.showMessageDialog(null,"crescentes " +"a: "+a +" b: "+b +" c: "+c);
}
else if (a<b && a<c && c<b){
	JOptionPane.showMessageDialog(null,"crescentes " +"a: "+a +" c: "+c +" b: "+b);
}
else if (b<a && b<c && a<c){
	JOptionPane.showMessageDialog(null,"crescentes " +" b: "+b +" a: "+a +" c: "+c);

}
else if (b<a && b<c && c<a){
	JOptionPane.showMessageDialog(null,"crescentes " +" b: "+b +" c: "+c +" a: "+a);
}
else if (c<a && c<b && a<b){
	JOptionPane.showMessageDialog(null,"crescentes " +" c: "+c +" a: "+a +" b: "+b);
}
	else if(c<a	 && c<b && b<a){
		JOptionPane.showMessageDialog(null,"crescentes " +" c: "+c +" b: "+b +" a: "+a);
	}
}
marcosharbs

bem quando voçê tem apenas 3 números ok você consegue fazer isso que vc fez de testar todas as combinações entre eles
mas a partir do momento que vc tiver que ordenar 20 números como vc faria??
recomendo a vc dar uma olhada sobre algoritmos de ordenação, tem varios por ai vou colar um abaixo tirado do livro do Cormen
o nome dele é Insertion Sort é um algoritmo bem conhecido de ordenação, o código abaixo é apenas um pseudo código
mas facilmente vc passa ele para java

INSERTION-SORT(A) 
1  for j  2 to length[A] 
2       do key  A[j] 
3           Insert A[j] into the sorted sequence A[1  j - 1]. 
4          i  j - 1 
5          while i > 0 and A[i] > key 
6              do A[i + 1]  A[i] 
7                 i  i - 1 
8          A[i + 1]  key

abraço

V

Muito obrigado pela ajuda galera… na verdade eu sei que pra comparar 20 ou mais numeros teria que usar o FOR mas eu só queria comparar 3 para poder utilizar os IF e a lógica tbem… mas valews ai galera …

brigadão msmo…

Criado 1 de setembro de 2009
Ultima resposta 1 de set. de 2009
Respostas 5
Participantes 5