Exercicio de Logica - Qual é a Melhor Prática

Olá, sou novo por aqui. Estou estudando Lógica de Programação em Java, onde tive a minha lógica e gostaria que coletar uma orientação dos Javanos se estou no caminho certo, joga tudo fora e faça assim… FeedBack e Criticas serão bem vindas… O exercícios pede o seguinte:

“Escreva um algoritmo que recebe 5 números inteiros. Depois, mostra qual o menor valor e o
maior valor fornecido”

A minha lógica foi a seguinte - CREIO QUE POSSA MELHORAR, MAS FUNCIONOU …

import javax.swing.JOptionPane;
/**
*

  • @author elourenco
    */
    public class ExercicioSete {

    public static void main(String[]args){

     int n1,n2,n3,n4,n5;
     
     n1 = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor 1: "));
     n2 = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor 2: "));
     n3 = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor 3: "));
     n4 = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor 4: "));
     n5 = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor 5: "));
     
      if(n1 < n2 && n1 < n3 && n1 < n4 && n1 < n5){
        JOptionPane.showMessageDialog(null, "O Valor menor é: "+n1);
     }if(n2 < n1 && n2 < n3 && n2 < n4 && n2 < n5){
        JOptionPane.showMessageDialog(null, "O Valor menor é: "+n2);
     }if(n3 < n1 && n3 < n2 && n3 < n4 && n3 < n5){
        JOptionPane.showMessageDialog(null, "O Valor menor é: "+n3);
     }if(n4 < n1 && n4 < n2 && n4 < n3 && n4 < n5){
        JOptionPane.showMessageDialog(null, "O valor menor é: "+n4);
     }if(n5 < n1 && n5 < n2 && n5 < n3 && n5 < n4){
        JOptionPane.showMessageDialog(null, "O valor menor é: "+n5);
     }if(n1 > n2 && n1 > n3 && n1 > n4 && n1 > n5){
        JOptionPane.showMessageDialog(null, "O Valor maior é: "+n1);
     }if(n2 > n1 && n2 > n3 && n2 > n4 && n2 > n5){
        JOptionPane.showMessageDialog(null, "O Valor maior é: "+n2);
     }if(n3 > n1 && n3 > n2 && n3 > n4 && n3 > n5){
        JOptionPane.showMessageDialog(null, "O Valor maior é: "+n3);
     }if(n4 > n1 && n4 > n2 && n4 > n3 && n4 > n5){
        JOptionPane.showMessageDialog(null, "O valor maior é: "+n4);
     }if(n5 > n1 && n5 > n2 && n5 > n3 && n5 > n4){
        JOptionPane.showMessageDialog(null, "O valor maior é: "+n5);
     }   
    

    }
    }

Obrigado…

Não era mais fácil se…
Você definisse apenas 3 variáveis, maior, menor e valor?
Você definisse maior como um número bem baixo e menor com um número bem alto?
Você comparasse cada valor lido com maior e menor e já fosse substituindo caso fosse maior que o maior ou menor que o menor?

Olá AlanMSV. Obrigado pela dica…

Foi muito construtiva…

Obrigado.

1 curtida

Olá darlan,

Vou absorver sua lógica e elaborar outro exercício parecido para fortalecer.

Obrigado,

import java.util.Scanner;

public class Exercicio {

	public static void main(String[] args) {
		int numero, maior = -999999999, menor = 999999999;
		Scanner sc = new Scanner(System.in);
		
		for(int i = 0; i < 5; i++) {
			System.out.println("Informe um número");
			numero = Integer.parseInt(sc.nextLine());
			
			if(numero > maior) {
				maior = numero;
			}
			
			if(numero < menor) {
				menor = numero;
			}
		}
		sc.close();

		System.out.println("O maior valor digitado foi: " + maior);
		System.out.println("O menor valor digitado foi: " + menor);
		
	}

}
1 curtida

Obrigado darlan.