tenho que desenvolver uma rotina com o comando while.
lê dez numeros e depois dizer qual é o maior deles…
eu usei o if mas não deu certo a minha logica…
alguem tem alguma sugestão? o Mais simples possivel…
grato…
opa!
ta ai!
, mas tenta entender o funcionamento da classe caso, haja duvida poste ai que a gente ajuda blz?!..
Ah!, esse programinha calcula os dois maiores ok?!
Falou!
import javax.swing.JOptionPane;
public class MaiorNumero {
// inicia o método main para execução da aplicação
public static void main ( String args []) {
int maior = 0; // Armazena o maior numero dos digitados pelo usuário
int contador = 1; // contador de controle
int number;
int segundomaior = 0;// Armazena o número digitado pelo usuario
String numero; // String digitada pelo usuário
// Inicia a fase de processamento da aplicação
while ( contador <= 10) {
// Inicia o contador de controle da aplicação
contador ++;
// Solicita a entrada do usuário
numero = JOptionPane.showInputDialog ( "Digite o número no campo:");
System.out.println("Valor digitado é:" + numero);
// Converte a entrada do usuário para um tipo inteiro
number = Integer.parseInt (numero);
if ( number > maior ) {
segundomaior = maior;
maior = number;
} // Fim da estrutura de controle if
if(number < maior && number > segundomaior){
segundomaior = number;
}
} // Fim da estrutura while
JOptionPane.showMessageDialog (null, "O Maior dos números digitados é: " + maior, "Resultado", JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showMessageDialog (null, "O segundo maior é:" + segundomaior, "Resultado", JOptionPane.INFORMATION_MESSAGE);
} // Fim do método main
} // Fim da classe MaiorNUmero
Uma opção é usar um array para armazenar a coleção.
Você define uma variável dentro do loop while que recebe o primeiro elemento da coleção.
Aí você compara os outros elementos com esta variável e coloca uma condição que determina que quando houver um elemento maior que o valor atual será será substituído por este no valor da variável criada.
Acho que assim funciona.
Abraço.
Charles
Cara, é uma questão de logica!
Pensa comigo!
Vc pega uma variavel para armazenar o maior numero, e vc começa ela com 0, ai o numero que entrar e for maior do que esta variavel, A variavel passa a assumir este valor!
Ai no final vc tera o maior!!
Para descobrir o menor é quase a mesma coisa!
Vc escolhe uma variavel para ser menor e começa ela com um numero muito grande 100000000000000000000000 ai se o numero que vc entrar for menor do que o valor da variavel do menor numero, A variavel recebe este valor!!!
Fixou??
- Recebe a primeira e assume ela como maior (ou menor, se quiser achar o menor).
- Recebe a segunda e compara com a sua variável “maior”. Se ela for maior então a variável “maior” recebe esse valor, senão continua como está.
- … // repete até o fim do while
- System.out.println("O maior valor eh " + maior);
Esse é um prog. bem simples , mais que faz exatamente oq vc deseja.
import javax.swing.JOptionPane;
public class Maior {
public static void main(String args[]){
int valor,
maior = 0,
cont = 1;
String number;
while(cont <= 10){
number = JOptionPane.showInputDialog("Entre com o valor");
valor = Integer.parseInt(number);
if (valor > maior)
maior = valor;
++cont;
}
JOptionPane.showMessageDialog(null, "O maior valor e " + maior);
System.exit(0);
}
}
espero ter ajudado.
Um abraço!!