Logo Passei Direto
Buscar
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 getNota(double n) { if(n >= 0 && n <= 10) { nota = n; } else { nota = 0; } } C public void setNota(double n) { if(n >= 0 && n <= 10) { nota = n; } else { nota = 0; } } D public void setNota(double n) { if(n <= 10) { nota = n; } else { nota = 0; } } E public double setNota(double n) { if(n >= 0 && n <= 10) { return n; } else { return 0; } }
User badge image
Roberta Iumi ishio

mês passado

Respostas

User badge image

Ed Verified user icon

mês passado

Vamos analisar as alternativas apresentadas para a implementação do 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 opção está incorreta porque usa o operador "ou" (||) em vez de "e" (&&). Isso permitiria que notas acima de 10 fossem armazenadas. B) `public void getNota(double n) { if(n >= 0 && n <= 10) { nota = n; } else { nota = 0; } }` - Esta opção está incorreta porque o método é um "getter" (getNota) e não deve modificar o valor da nota. Além disso, o parâmetro `n` não deveria ser usado para atribuir a nota. C) `public void setNota(double n) { if(n >= 0 && n <= 10) { nota = n; } else { nota = 0; } }` - Esta opção está correta. Ela verifica se a nota está entre 0 e 10 e a armazena corretamente, caso contrário, armazena 0. D) `public void setNota(double n) { if(n <= 10) { nota = n; } else { nota = 0; } }` - Esta opção está incorreta porque não verifica se a nota é maior ou igual a 0, permitindo que notas negativas sejam armazenadas. E) `public double setNota(double n) { if(n >= 0 && n <= 10) { return n; } else { return 0; } }` - Esta opção está incorreta porque o método deveria armazenar a nota no atributo `nota`, e não apenas retornar um valor. Portanto, a alternativa correta é: C) public void setNota(double n) { if(n >= 0 && n <= 10) { nota = n; } else { nota = 0; } }

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