Logo Passei Direto
Buscar
Questão 2 Código da questão: 37130 Um desenvolvedor precisa implementar o método entradaDados() na classe Treinamento, implementada a seguir. Considere que os métodos setters e getters serão implementados corretamente. class Treinamento { String nomeAluno; int ano; double nota; // Métodos setters // Métodos getters } Compare as possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à implementação do método entradaDados() da classe, responsável por realizar a entrada de dados por meio do teclado. A 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()); } B 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()); } C 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(); } D 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()); } E 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()); }
User badge image
Philippe Guimarães

há 24 horas

Respostas

User badge image

Ed Verified user icon

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.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina