aplicativo que lê cinco inteiros e determina e imprime o maior e menor inteiro do grupo
não estou conseguindo imprimir o menor, ele só imprime zero, q é o valor recebido na declaração, tenho que criar uma condição para q quando chegar no if do menor ele não seja = a zero.
import javax.swing.*;
public class cinco {
public static void main(String[] args) {
String msg = "";
int valores[] = new int[5];
int maior = 0;
int menor = 0;
for(int i= 0; i <=4 ; i++){
valores[i] = (Integer.parseInt(JOptionPane.showInputDialog
("Digite o" + " " +(i + 1)+ " " + "valor")));
if(maior < valores[i] )
maior = valores[i];
if(menor > valores[i] )
menor = valores[i];
}
JOptionPane.showMessageDialog
(null, "O maior valor é: " + maior + " \n O menor valor é: "+ menor,
"RESULTADO", JOptionPane.PLAIN_MESSAGE);
System.exit (0);
}
}
[color=“red”]Use BBCode em seus códigos: http://www.portaljava.com/home/modules.php?name=Forums&file=faq&mode=bbcode - matheus[/color]
dica: Math.max() e Math.min() 
outra dica:
faça assim:
int valores[] = new int[5];
for(int i= 0; i <valores.length ; i++){
valores[i] = (Integer.parseInt(JOptionPane.showInputDialog
("Digite o" + " " +(i + 1)+ " " + "valor")));
}
int maior = valores[0];
int menor = valores[0];
for(int i= 1; i <valores.length ; i++){
if(maior < valores[i] )
maior = valores[i];
if(menor > valores[i] )
menor = valores[i];
}
ou seja comece considerando o primeiro valor como sendo o maior e tambem o menor e a partir do segundo valor faça as comparações…
Cara amigo, entenda seu problema, quando iguala o maior e o menor a 0(zero), terá nas comparações o seguinte:
irá buscar todos os números maiores que zero, ou seja, se em seu vetor somente existirem elementos maiores que zero vc encontrará a solução correta, caso seus elementos sejam todos negativos, imprimirá que seu maior numero é zero o que não seria correto.
na busca pelo menor número, o que ocorre é o caso inverso, teste seu programa como está digitando somente números negativos, observe que o menor estará correto e o maior será zero.
A dica dada anteriormente consiste em realizar a leitura dos dados antes de comparar, porque?
Não é possível comparar elementos de um grupo sem que se tenha um parâmetro inicial, no caso da dica o primeiro elemento do vetor.
Então sempre que desejar realizar uma comparação faça-a com elementos do grupo e não com elementos externos como no seu caso o zero.
BLZ
incializa a variável menor com o valor máximo de int.
experimenta 2147483647.
abs.
ou de um jeito mais chique:
int maior = Integer.MAX_VALUE;
int menor = Integer.MIN_VALUE;
mas eu ainda acho mais coerente a ideia de começar pegando a primeira posição do vetor