Compartilhando minha resolução. O quarto exercício foi bem mais complicado hehe, tive que pedir ajuda ao ChatGTP e olhar a resolução do professor.
/**
* 1. Crie uma classe Carro com métodos para representar um modelo específico ao longo de três anos.
* Implemente métodos para definir o nome do modelo, os preços médios para cada ano,
* e calcular e exibir o menor e o maior preço. Adicione uma subclasse ModeloCarro para criar instâncias específicas,
* utilizando-a na classe principal para definir preços e mostrar informações.
*/
package desafios.desafio03;
public class Carro {
private String nomeDoModelo;
private double precoMedioPrimeiroAno;
private double precoMedioSegundoAno;
private double precoMedioTerceiroAno;
public void definirNomeDoModelo(String nomeDoModelo) {
this.nomeDoModelo = nomeDoModelo;
System.out.println("Nome do modelo foi definido com sucesso!");
}
public void definirPrecosMediosDosTresAnos(double precoMedioPrimeiroAno, double precoMedioSegundoAno, double precoMedioTerceiroAno) {
this.precoMedioPrimeiroAno = precoMedioPrimeiroAno;
this.precoMedioSegundoAno = precoMedioSegundoAno;
this.precoMedioTerceiroAno = precoMedioTerceiroAno;
System.out.println("Os preços médios dos três primeiros anos foram definidos com sucesso!");
}
public void exibirMaiorPrecoMedio() {
double maiorPreco = precoMedioPrimeiroAno;
if (maiorPreco < precoMedioSegundoAno) {
maiorPreco = precoMedioSegundoAno;
}
if (maiorPreco < precoMedioTerceiroAno) {
maiorPreco = precoMedioTerceiroAno;
}
System.out.println("O maior preço médio é R$" + maiorPreco);
}
public void exibirMenorPrecoMedio() {
double menorPreco = precoMedioPrimeiroAno;
if (menorPreco > precoMedioSegundoAno) {
menorPreco = precoMedioSegundoAno;
}
if (menorPreco > precoMedioTerceiroAno) {
menorPreco = precoMedioTerceiroAno;
}
System.out.println("O menor preço médio é R$" + menorPreco);
}
}
package desafios.desafio03;
public class ModeloCarro extends Carro {
}
/**
* 2. Crie uma classe Animal com um método emitirSom(). Em seguida, crie duas subclasses:
* Cachorro e Gato, que herdam da classe Animal. Adicione o método emitirSom() nas subclasses,
* utilizando a anotação @Override para indicar que estão sobrescrevendo o método. Além disso,
* adicione métodos específicos para cada subclasse, como abanarRabo() para o Cachorro e arranharMoveis() para o Gato.
**/
package desafios.desafio03;
public class Animal {
public void emitirSom() {
System.out.println("Emitindo som!");
}
}
package desafios.desafio03;
public class Cachorro extends Animal {
@Override
public void emitirSom() {
System.out.println("Au Au");
}
public void abanarRabo() {
System.out.println("Abanando o rabo");
}
}
package desafios.desafio03;
public class Gato extends Animal {
@Override
public void emitirSom() {
System.out.println("Miau");
}
void arranharMoveis() {
System.out.println("Arranhando moveis");
}
}
/**
* 3. Crie uma classe ContaBancaria com métodos para realizar operações bancárias como depositar(),
* sacar() e consultarSaldo(). Em seguida, crie uma subclasse ContaCorrente que herda da classe ContaBancaria.
* Adicione um método específico para a subclasse, como cobrarTarifaMensal(), que desconta uma tarifa mensal
* da conta corrente.
*/
package desafios.desafio03;
public class ContaBancaria {
protected double saldo;
public void depositar(double valor) {
saldo += valor;
System.out.printf("O valor de R$%.2f foi depositado com sucesso.\n", valor);
}
public void sacar(double valor) {
saldo -= valor;
System.out.printf("O valor de R$%.2f foi sacado com sucesso.\n", valor);
}
public void consultarSaldo() {
System.out.printf("O saldo atual é de R$%.2f.\n", saldo);
}
}
package desafios.desafio03;
public class ContaCorrente extends ContaBancaria {
public void cobrarTarifaMensal() {
saldo -= 0.01;
System.out.println("A tarifa mensal de R$0,01 centavo foi cobrada.");
}
}
Continuando abaixo...
