Descobrir Maior Menor, Quais são Ímpares e Pares de 5 números (só falta alguns detalhes)

Galera,

Por favor, uma pequena ajuda. Eu preciso ler 5 números, testar e imprimir o Maior e o Menor e também quais são Pares e Ímpares.

Eu escrevi algumas coisas, e peguei algumas prontas de outros modelos (encontrados aqui no GUJ mesmo), mas tem provavelmente algumas imcompatibilidades e meios de se fazer q estão em conflito. Podem me ajudar!?

[code]public class Numeros
{
public static void main (String[] args)
{
int n;
String string;

System.out.print ("Entre com os valores: ");
string = SavitchIn.readDouble ();
n=Integer.parseInt(string);

int array[] = new int[n];
int i, m, maior=-1000000, menor=1000000;

    for (i=0; i<n; i++) {
                    m=i+1;
                    string=JOptionPane.showInputDialog("Digite o "+m+"o. número:");
                    array[i]=Integer.parseInt(string);
                    soma+=array[i];
                    if (array[i]>maior) {
                            maior=array[i];
                    }
                    if (array[i]<menor) {
                            menor=array[i];
                    }
            }
    for (i=0; i<n; i++){  
       if ( i % 2 == 0)   
       System.out.println(i+ "Eh Par");   
       else   
       System.out.println(i+ "Eh Impar");   

}

System.out.print ("O maior dos números é "+maior+".");
System.out.print ( "O menor dos números é "+menor+".");[/code]

Fico muito agradecido por quem me ajudar a consertar o código!

[code]public class Exemplo {

public static void main(String[] args) {
	
	Scanner input = new Scanner(System.in);
	
	int[] numeros = new int[5];
	System.out.println("Digite o 1o numero:");
	numeros[0] = input.nextInt();
	System.out.println("Digite o 2o numero:");
	numeros[1] = input.nextInt();
	System.out.println("Digite o 3o numero:");
	numeros[2] = input.nextInt();
	System.out.println("Digite o 4o numero:");
	numeros[3] = input.nextInt();
	System.out.println("Digite o 5o numero:");
	numeros[4] = input.nextInt();
	
	//Calcular par ou ímpar
	for (int i = 0; i < numeros.length; i++) {
		if (numeros[i] % 2 == 0) {
			System.out.println(numeros[i] + " é par!");
		}
		else {
			System.out.println(numeros[i] + " é ímpar!");
		}
		
	}
	
	System.out.println();
	
	//Maior
	if (numeros[0] - numeros[1] >= 0 && numeros[0] - numeros[2] >= 0 && numeros[0] - numeros[3] >= 0 && numeros[0] - numeros[4] >= 0) {
		System.out.println(numeros[0] + "é o maior!");
	}
	else if (numeros[1] - numeros[0] >= 0 && numeros[1] - numeros[2] >= 0 && numeros[1] - numeros[3] >= 0 && numeros[1] - numeros[4] >= 0) {
		System.out.println(numeros[1] + "é o maior!");
	}
	else if (numeros[2] - numeros[0] >= 0 && numeros[2] - numeros[1] >= 0 && numeros[2] - numeros[3] >= 0 && numeros[2] - numeros[4] >= 0) {
		System.out.println(numeros[2] + "é o maior!");
	}
	else if (numeros[3] - numeros[0] >= 0 && numeros[3] - numeros[2] >= 0 && numeros[3] - numeros[2] >= 0 && numeros[3] - numeros[4] >= 0) {
		System.out.println(numeros[3] + "é o maior!");
	}
	else if (numeros[4] - numeros[0] >= 0 && numeros[4] - numeros[1] >= 0 && numeros[4] - numeros[2] >= 0 && numeros[4] - numeros[3] >= 0) {
		System.out.println(numeros[4] + "é o maior!");
	}
	
	System.out.println();
	//Menor
	if (numeros[0] - numeros[1] < 0 && numeros[0] - numeros[2] < 0 && numeros[0] - numeros[3] < 0 && numeros[0] - numeros[4] < 0) {
		System.out.println(numeros[0] + " é o maior!");
	}
	else if (numeros[1] - numeros[0] < 0 && numeros[1] - numeros[2] < 0 && numeros[1] - numeros[3] < 0 && numeros[1] - numeros[4] < 0) {
		System.out.println(numeros[1] + " é o maior!");
	}
	else if (numeros[2] - numeros[0] < 0 && numeros[2] - numeros[1] < 0 && numeros[2] - numeros[3] < 0 && numeros[2] - numeros[4] < 0) {
		System.out.println(numeros[2] + " é o maior!");
	}
	else if (numeros[3] - numeros[0] < 0 && numeros[3] - numeros[2] < 0 && numeros[3] - numeros[2] < 0 && numeros[3] - numeros[4] < 0) {
		System.out.println(numeros[3] + " é o maior!");
	}
	else if (numeros[4] - numeros[0] < 0 && numeros[4] - numeros[1] < 0 && numeros[4] - numeros[2] < 0 && numeros[4] - numeros[3] < 0) {
		System.out.println(numeros[4] + " é o maior!");
	}
}

}[/code]

numeros[0] - numeros[1] >= 0

Isso é uma "gambiarra" que dá certo! Se a sub do primeiro com o segundo for menor que 0…é pq o segundo é maior que o primeiro!

Uhuull…

Eu fiz com Scanner…faça do jeito que achar melhor!

Muito if e else.

É melhor verificar o maior assim:

int[] ns = {5,8,16,2,0};

int maior = ns[0];//Note se eu colocar "int maior = 0;" e todos os numeros do array forem menores que zero, o resultado de maior vai ser 0;
for(int i : ns)
if(i > maior)
 maior = i;

System.out.println("O maior numero do array é:" + maior);

Acho que ficaria melhor usando laços e imprimir o resultado no final tudo junto.

[code]
import javax.swing.JOptionPane;

public class Main {
public static void main (String[] args) {

       int maior = 0, menor = 0;
       String pares = "Pares: ", impares = "Ímpares: ";            

       for(int i = 1; i <= 5; i++) {
            int num = Integer.parseInt(JOptionPane.showInputDialog(null,"Entre com o " + i  + "o. número :"));

            //Teste de maior e menor
            if (i == 1) {
                maior = num;
                menor = num;
            } else {
                if (num > maior) {
                    maior = num;
                } else if (num < menor) {
                    menor = num;
                }
            }

            //Teste de par e ímpar
            if (i%2 == 0) {
                pares += " " + num;
            } else {
                impares += " " + num;
            }
       }

       JOptionPane.showMessageDialog(null,"O maior dos números é " + maior);
       JOptionPane.showMessageDialog(null,"O menor dos números é " + menor);
       JOptionPane.showMessageDialog(null,pares + "\n" + impares);
 }

}[/code]

claudneto, Mark_Ameba e NataliaOliveira!

Valeu mesmo por responderem!

Agora se eu quisesse indicar QUANTOS (a quantidade mesmo dentre os 5 números lidos) são pares e quantos são ímpares? Teria que inserir um contador dentro do FOR

[code] for (i=0; i<n; i++){
if ( i % 2 == 0)
int qtdPar = qtdPar++;
System.out.println(i+ “Eh Par”);
else
int qtdImp = qtdImp++;
System.out.println(i+ “Eh Impar”);

System.out.print (“A quantidade de numeros pares é “+qtdPar+”.”);
System.out.print (“A quantidade de numeros ímpares é “+qtdImp+”.”);[/code]

Tá certo isso!?

[quote=henriquelo]claudneto, Mark_Ameba e NataliaOliveira!

Valeu mesmo por responderem!

Agora se eu quisesse indicar QUANTOS (a quantidade mesmo dentre os 5 números lidos) são pares e quantos são ímpares? Teria que inserir um contador dentro do FOR

[code] for (i=0; i<n; i++){
if ( i % 2 == 0)
int qtdPar = qtdPar++;
System.out.println(i+ “Eh Par”);
else
int qtdImp = qtdImp++;
System.out.println(i+ “Eh Impar”);

System.out.print (“A quantidade de numeros pares é “+qtdPar+”.”);
System.out.print (“A quantidade de numeros ímpares é “+qtdImp+”.”);[/code]

Tá certo isso!?[/quote]

Coloque as variaveis de qtdPar e qtdImp fora do if, se não ele será criado toda hora que entrar na condição.

int qtdPar, qtdImp; for (i=0; i<n; i++){ if ( i % 2 == 0){ qtdPar++; System.out.println(i+ "Eh Par"); }else{ //Quando voce não coloca os colchetes só é executado a proxima linha de código pela condição qtdImp++; System.out.println(i+ "Eh Impar"); }} System.out.print ("A quantidade de numeros pares é "+qtdPar+"."); System.out.print ("A quantidade de numeros ímpares é "+qtdImp+".");

É verdade brother…valeu mesmo! pela dica!!!

[]'s :smiley: