Exercícios — Aula 03¶
Exercícios complementares
Propostos por este site para praticar a aula. Não são do professor, não valem nota e não têm entrega.
Faça depois do roteiro da aula, na ordem. Use o programa que você construiu no roteiro e escreva seus testes no fim do main.
Exercício 1 — Prever¶
Objetivo. Prever o efeito das regras de getNome, setNome e toString.
Enunciado. Sem executar, escreva o que cada println imprime.
Como conferir. Cole o trecho no fim do main e execute. Considere resolvido quando as três linhas coincidem e você consegue explicar por que a última tem letras minúsculas.
Dica
Releia os três métodos em Livro.java. Dois deles têm uma regra; o terceiro usa o atributo diretamente.
Exercício 2 — Uma regra para o ano¶
Objetivo. Usar um setter para proteger um atributo.
Enunciado. Altere setAno, na classe Livro, para que ele ignore anos negativos. Se o valor recebido for menor que zero, o ano do livro não muda.
Como conferir. Execute no fim do main:
Livro k = new Livro("1984", 1949);
k.setAno(-5);
System.out.println(k.getAno());
k.setAno(1950);
System.out.println(k.getAno());
A saída esperada é 1949 e depois 1950. O restante do programa deve continuar imprimindo o mesmo de antes.
Dica
O formato é o mesmo de setNome: um if com um return sozinho antes da atribuição.
Exercício 3 — Quantos livros a editora tem¶
Objetivo. Acrescentar um método a uma classe que guarda uma lista.
Enunciado. Na classe Editora, crie o método contaLivros(), que devolve a quantidade de livros da editora.
Como conferir.
- No fim do
main,System.out.println(editora.contaLivros());imprime3. - Crie uma segunda editora, chame
addLivro(null)nela e imprimacontaLivros(). O resultado é0. - Você não criou nenhum getter para a lista
livros.
Dica
O método devolve um int e não recebe parâmetros. A lista já sabe o próprio tamanho: lembre do lista.size() do main.