Olá, Rodrigo! Tudo bem?
Primeiramente, sobre os erros que você está encontrando nos exercícios 3 e 4. A mensagem de erro 'Produto()' cannot be applied to '(java.lang.String, double)' e 'Aluno()' cannot be applied to '(java.lang.String, double, double, double)' indica que você está tentando criar um objeto Produto e um objeto Aluno com construtores que não existem.
No Java, quando você cria uma classe, um construtor padrão (sem parâmetros) é criado automaticamente. No entanto, se você criar um construtor com parâmetros, o construtor padrão não é mais criado automaticamente. Parece que nas classes Produto e Aluno, você não criou construtores que aceitam os parâmetros que você está tentando passar.
Para resolver isso, você precisa criar os construtores na classe Produto e Aluno. Veja um exemplo para a classe Produto:
public class Produto {
private String nome;
private double preco;
public Produto(String nome, double preco) {
this.nome = nome;
this.preco = preco;
}
// getters e setters aqui
}
E para a classe Aluno:
public class Aluno {
private String nome;
private double nota1;
private double nota2;
private double nota3;
public Aluno(String nome, double nota1, double nota2, double nota3) {
this.nome = nome;
this.nota1 = nota1;
this.nota2 = nota2;
this.nota3 = nota3;
}
// getters e setters aqui
}
Sobre sua dúvida no exercício 5, o método getter é geralmente usado para obter o valor de um atributo privado fora da classe. Mesmo que o método getter não seja usado para imprimir os detalhes do livro, ele ainda é útil para outros propósitos, como acessar o valor do atributo em outra parte do código. Além disso, é uma boa prática de programação orientada a objetos fornecer métodos getter e setter para atributos privados.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.