Como eu poderia melhorar este código em Java?

Estou treinando algumas coisas que já aprendi, quero saber se existe e qual é a forma mais simples de escrever esse mesmo código, deixando com a mesma funcionalidade.

package pratica01;

import java.util.Scanner;

public class Praticando {
  
  public static void main(String[] args) {
    double aluno1, aluno2, aluno3, nota = 6;
    Scanner input = new Scanner(System.in);
    
    System.out.print("Digite a nota do Aluno 1: ");
    aluno1 = input.nextDouble();
    
    System.out.print("Digite a nota do Aluno 2: ");
    aluno2 = input.nextDouble();
    
    System.out.print("Digite a nota do Aluno 2: ");
    aluno3 = input.nextDouble();
    
    if (aluno1 >= nota) {
      System.out.println("Aluno 1: Aprovado");
    } else {
      System.out.println("Aluno 1: Reprovado");
    }
    
    if (aluno2 >= nota) {
      System.out.println("Aluno 2: Aprovado");
    } else {
      System.out.println("Aluno 2: Reprovado");
    }
    
    if (aluno3 >= nota) {
      System.out.println("Aluno 3: Aprovado");
    } else {
      System.out.println("Aluno 3: Reprovado");
    }
    
    input.close();
  }
}

Uma forma seria usando um array. Seria assim:

import java.util.Scanner;

public class Praticando {
  private static final Scanner input = new Scanner(System.in);
  
  public static void main(String[] args) {
    double nota = 6;

    double[] alunos = new double[3];

    for (int i = 0; i < alunos.length; i++) {
      System.out.printf("Digite a nota do Aluno %d: ", i + 1);
      alunos[i] = input.nextDouble();
    }

    for (int i = 0; i < alunos.length; i++) {
      if (alunos[i] >= nota) {
        System.out.printf("Aluno %d: Aprovado\n", i + 1);
      } else {
        System.out.printf("Aluno %d: Reprovado\n", i + 1);
      }
    }
  }
}

Como não uma boa prática fechar um Scanner que usa o System.in, eu preferi colocar ele como uma variável estática. Assim a IDE não reclama e todo mundo é feliz.

1 curtida

wldomicianom, Obrigado pelas dicas.

1 curtida