Ed
há 24 horas
Vamos analisar cada uma das alternativas para o método `entradaDados()` na classe `Treinamento`: A) ```java public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = Integer.parseInt(sc.nextLine()); System.out.println("Nota:"); nota = Integer.parseInt(sc.nextLine()); } ``` - Aqui, a nota está sendo lida como um inteiro, o que não é correto, pois a nota deve ser um número decimal (double). B) ```java public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = nextLine(); System.out.println("Ano:"); ano = Integer.parseInt(nextLine()); System.out.println("Nota:"); nota = Double.parseDouble(nextLine()); } ``` - O método `nextLine()` não está sendo chamado a partir do objeto `sc`, o que causaria um erro de compilação. C) ```java public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = sc.nextLine(); System.out.println("Nota:"); nota = sc.nextLine(); } ``` - Aqui, o ano é lido como uma string e não é convertido para um inteiro, o que não atende ao requisito. D) ```java public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = Double.parseDouble(sc.nextLine()); System.out.println("Nota:"); nota = Double.parseDouble(sc.nextLine()); } ``` - O ano está sendo lido como um double, o que não é apropriado, pois deve ser um inteiro. E) ```java public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = Integer.parseInt(sc.nextLine()); System.out.println("Nota:"); nota = Double.parseDouble(sc.nextLine()); } ``` - Esta opção lê corretamente o nome do aluno, o ano como um inteiro e a nota como um double. Portanto, a alternativa correta é: E.