Olá Pessoal, boa noite!
No livro Java - Como programar, tem o seguinte exercício de memorização:
2.27) Escreva um aplicativo que lê cinco inteiros e determina e imprime qual é o maior e qual é o menor inteiro do grupo. Utilize somente as técnicas de programação aprendido nesse capítulo.
E como já falei antes, sou péssimo em lógica, então, até fiz o aplicativo, mas o resultado não é nada esperado, vejam:
/* Exercício Exercicio227.java
** Lê 5 números inteiros e mostra o maior e o menor número
** Data: 09/05/2007
** Autor: Monthiel
*/
import javax.swing.JOptionPane;
public class Exercicio227 {
public static void main (String[] args){
String primeiroNumero, //Primeiro número inserido pelo usuário
segundoNumero, //Segundo número inserido pelo usuário
terceiroNumero, //Terceiro número inserido pelo usuário
quartoNumero, //Quarto número inserido pelo usuário
quintoNumero, //Quinto número inserido pelo usuário
numeroGrande, //Maior número inserido pelo usuário
numeroPequeno; //Menor número inserido pelo usuário
//Iniciliza as variáveis
int numero1,
numero2,
numero3,
numero4,
numero5;
/******************************************************************************
Aqui eu capturo todos os números inseridos pelo usuário da aplicação
******************************************************************************/
//lê o primeiro número do usuário como uma String
primeiroNumero =
JOptionPane.showInputDialog ("Informe o primeiro número");
//lê o segundo número do usuário como uma String
segundoNumero =
JOptionPane.showInputDialog ("Informe o segundo número");
//lê o terceiro número do usuário como uma String
terceiroNumero =
JOptionPane.showInputDialog ("Informe o terceiro número");
//lê o quarto número do usuário como uma String
quartoNumero =
JOptionPane.showInputDialog ("Informe o quarto número");
//lê o quinto número do usuário como uma String
quintoNumero =
JOptionPane.showInputDialog ("Informe o quinto número");
/*********************** FIM DA CAPTURA DOS NÚMEROS *****************************/
//converte os números do tipo String para o tipo Int
numero1 = Integer.parseInt (primeiroNumero);
numero2 = Integer.parseInt (segundoNumero);
numero3 = Integer.parseInt (terceiroNumero);
numero4 = Integer.parseInt (quartoNumero);
numero5 = Integer.parseInt (quintoNumero);
//inicializa as variáveis maiorNumero e menorNumero com String vazio
numeroGrande = "";
numeroPequeno = "";
/********** Aqui começa os testes de IF para ver quem é maior e menor ************/
if ( numero1 > numero2 )
numeroGrande = numeroGrande + numero1;
numeroPequeno = numeroPequeno + numero2;
if ( numero2 > numero3 )
numeroGrande = numeroGrande + numero2;
numeroPequeno = numeroPequeno + numero3;
if ( numero3 > numero4 )
numeroGrande = numeroGrande + numero3;
numeroPequeno = numeroPequeno + numero4;
if ( numero4 > numero5 )
numeroGrande = numeroGrande + numero4;
numeroPequeno = numeroPequeno + numero5;
//exibe o resultado
JOptionPane.showMessageDialog(
null, "Maior número: " + numeroGrande + "Menor Número" + numeroPequeno, "Resultados",
JOptionPane.INFORMATION_MESSAGE );
//finaliza o programa
System.exit( 0 );
} //fim da do método main
} //fim da classe Exercicio227
Na verdade o problema só está na lógica dos IF's, de como pegar o maior e o menor número. Será se alguém poderia me dar uma luz, do que está errado? pois se eu digitar a sequência 1 2 3 4 5 no final ele só mostra o menor número, e ainda mostra assim 2345 (*risos*)
Obrigado!
Monthiel