Exercícios complementares
Os exercícios abaixo podem ser desenvolvidos de forma livre. Envie suas respostas por email, caso deseje que eu comente e avalie seu código. Utilize os comandos já estudados para ler e escrever valores na entrada padrão (Ver slides 1.4.1. Entrada e saída de dados, disponíveis no Classroom).
Exercício 1
Crie uma classe Estudante com atributos para nome, matrícula e três notas. Implemente métodos para calcular a média das notas e determinar se o aluno foi aprovado ou reprovado, considerando que a média para ser aprovado é 70. Crie objetos Estudante e imprima informações dos objetos.
- A classe
Estudantedeve possuir o construtorEstudante(String nome, int matricula, double n1, double n2, double n3) - A classe
Estudantedeve possuir o métododouble getMedia()que retorna o cálculo da média das notas do estudante - A classe
Estudantedeve possuir um métodovoid setNotas(double n1, double n2, double n3)para definir as três notas de uma vez - A classe
Estudantedeve possuir métodosdouble getNota1(),double getNota2()edouble getNota3() - Crie uma exceção
NotaInvalidaException, que deve ser lançada quando uma nota negativa é passada para os métodos que recebem nota - Crie um caso de teste para testar o método
double getMedia() - Crie um caso de teste para testar os métodos
void setNotas(double n1, double n2, double n3),double getNota1(),double getNota2()edouble getNota3()
Exercício 2
Crie uma classe Calculadora com métodos para realizar operações matemáticas simples (soma, subtração, multiplicação e divisão). Não é necessário criar atributos internos. O objetivo é observar como você implementará os métodos. Crie objetos Calculadora e execute operações com eles.
Exercício 3
Crie uma classe Pessoa com atributos para nome, idade e endereço. Em seguida, crie objetos Pessoa e exiba suas informações.
Exercício 4
Crie uma classe Livro com atributos para título, autor e preço. Crie objetos Livro e exiba informações sobre os livros.
Exercício 5
Crie uma classe ContaCorrente com atributos para número da conta, saldo e titular da conta. Implemente métodos para depósito, saque e exibição do saldo. Crie objetos ContaCorrente e realize transações bancárias.
Exercício 6
Crie uma classe Triangulo que represente um triângulo com atributos para os comprimentos dos lados. Implemente: (i) um método para determinar o tipo de triângulo (equilátero, isósceles ou escaleno) e (ii) um método para determinar se os comprimentos passados formam um triângulo válido. Crie objetos Triangulo de forma a obter triângulos de tipos diferentes.
Exercício 7
Crie uma classe Jogador com os atributos: nome, nível e pontos. Implemente métodos para subir de nível e ganhar pontos.
Exercício 8
Crie uma classe Funcionário com os atributos nome, cargo e salário. Implemente um método para dar um aumento no salário com base em um percentual.
Exercício 9
Crie a classe Estudante com os atributos int matricula e String nome e seus respectivos getters e setters. Crie um construtor Estudante(int matricula, String nome, int ano, int mes, int dia), onde ano, mes e dia representam a data de nascimento do estudante. Além disso, crie o método getIdade(), que retorna a idade em anos do usuário, com base na data de nascimento.
No construtor, lance uma exceção ValorInvalidoException quando as seguintes situações ocorrerem:
- Um dia menor que 1 ou maior que 31 for passado;
- Um mês menor que 1 ou maior que 12 for passado;
- Um ano maior que o ano atual for passado.
Exercício 10
Escreva um programa em Java que lê dois valores a e b da entrada padrão, efetua a divisão a / b e exibe o resultado, com precisão de 2 casas decimais. Prepare o seu código para tratar a possibilidade de acontecer a divisão por zero.
Exercício 11
Crie a classe Usuario, com dois atributos, email e senha. Valide o email e senha, para que o email esteja no formato aaa@bbb.com (não precisa testar outras terminações de domínio, como .net ou .com.br) e a senha seja numérica (sem letras ou símbolos).
Lance uma exceção EmailInvalidoException quando um email em formato inválido for passado através do construtor ou método setEmail e SenhaInvalidaException quando uma senha em formáto inválido for passada através do construtor ou método setSenha.