[RESOLVIDO] Problema com logica :s

4 respostas
K

Olá pessoal, estou com um pequeno problema com lógica, estou tentando fazer um exercício que mostre o maior e o menor numero entre 5 números:

O problema está na logica de mostra o maior e o menor, em minha logica ficaria mais ou menos assim:

if ( num1 > num2 ) and ( num1 > num3 ) and ( num1 > num4 ) and ( num1 > num5 ) System.out.print ("O primeiro numero ("+num1+")É o maior numero!");

Obvio que eu teria que fazer isso para todos os 5 numeros…

A mesma logica para o menor número:

if ( num1 < num2 ) and ( num1 < num3 ) and ( num1 < num4 ) and ( num1 < num5 ) System.out.print ("O primeiro numero ("+num1+")É o menor numero!");

Mais é claro que isto está errado, gostaria de uma forma mais facil de fazer um exercicio assim…

ps: sou iniciante em JAVA, peço desculpas qualquer coisa ^^

Obrigado.

4 Respostas

S
public static void main(String[] args) {
		int[] arrayInt = {10,50,1,98,55};
		int maior = 0;
		int menor = arrayInt[0];
		
		for (int i = 0; i < 5; i++) {
			if (arrayInt[i] > maior) {
				maior = arrayInt[i];
			}
			
			if (arrayInt[i] < menor) {
				menor = arrayInt[i];
			}
		}
		
		System.out.println("Maior numero: " + maior);
		System.out.println("Menor numero: " + menor);
	}

Ta ae um exemplo amigo que você pode fazer para simplificar esses IF que você teve criar !
Para isso crie um array de inteiro e depois percora ele até encontrar o maior numero e o menor numero.

Abraço

Mephy

não lembro se Java tem o método Math.max() mas quase certeza que sim:

int[] numeros = {5, 10, 4, 6, 1}; int maior = Integer.MinValue; // carrega uma variável como o menor int possível for (int i : numeros) { // percorre todos os números maior = Math.Max(maior, i); // verifica o maior entre o atual maior e o próximo número } System.out.println("Maior número: " + maior);

R

Boa tarde,

Ou você também pode fazer assim:

import java.util.Arrays;

public class Numeros5 {
		
	public static String retornaMaioreMenor(int[] numeros) {
		Arrays.sort(numeros);
		return "Menor:" + numeros[0] + " Maior:" + numeros[numeros.length - 1];
	}		
	//mostrar o maior e o menor numero entre 5 números
	public static void main(String[] args) {
		int[] arrayInt = {5,20,30,2,27};
		System.out.println(retornaMaioreMenor(arrayInt));
	}
}

Obs.: Eu não tinha visto a resolução do Mephy, mais fico bem simplificado, bacana.

K

Vlw pela ajuda pessoal :wink:

Criado 7 de agosto de 2011
Ultima resposta 7 de ago. de 2011
Respostas 4
Participantes 4