Logo Passei Direto
Buscar
Questão 5 Código da questão: 36879 Um desenvolvedor precisa implementar os métodos de acesso da classe Treinamento, a qual possui os seguintes atributos: nomeAluno, ano e nota. Compare as possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à implementação do método que permite realizar a atribuição e o armazenamento na memória da propriedade nota. Lembrando que a nota de um aluno precisa estar entre 0 e 10 para que seja armazenada no atributo; caso contrário, deverá armazenar o valor 0 (zero) no atributo. A public void setNota(double n) { if(n >= 0 || n < 10) { nota = n; } else { nota = 0; } } B public void setNota(double n) { if(n <= 10) { nota = n; } else { nota = 0; } } C public double setNota(double n) { if(n >= 0 && n <= 10) { return n; } else { return 0; } } D public void getNota(double n) { if(n >= 0 && n <= 10) { nota = n; } else { nota = 0; } } E public void setNota(double n) { if(n >= 0 && n <= 10) { nota = n; } else { nota = 0; } }
User badge image
Philippe Guimarães

há 24 horas

Respostas

User badge image

Ed Verified user icon

há 24 horas

Vamos analisar as alternativas apresentadas para o método que armazena a nota de um aluno na classe Treinamento, considerando que a nota deve estar entre 0 e 10, e que, caso contrário, deve ser armazenado o valor 0. A) `public void setNota(double n) { if(n >= 0 || n < 10) { nota = n; } else { nota = 0; } }` - Esta condição está errada, pois usa "ou" (||) em vez de "e" (&&). Isso permitiria que notas acima de 10 fossem aceitas. B) `public void setNota(double n) { if(n <= 10) { nota = n; } else { nota = 0; } }` - Esta condição não verifica se a nota é maior ou igual a 0, então notas negativas seriam aceitas. C) `public double setNota(double n) { if(n >= 0 && n <= 10) { return n; } else { return 0; } }` - Este método não armazena a nota na variável `nota`, apenas retorna o valor. Portanto, não atende ao requisito. D) `public void getNota(double n) { if(n >= 0 && n <= 10) { nota = n; } else { nota = 0; } }` - O nome do método está incorreto, pois deveria ser `setNota`, e não `getNota`. Além disso, a lógica está correta, mas o nome do método não é adequado. E) `public void setNota(double n) { if(n >= 0 && n <= 10) { nota = n; } else { nota = 0; } }` - Esta condição está correta, pois verifica se a nota está entre 0 e 10 e armazena o valor corretamente. 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