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 Estudo;
public class Carro {
private String marca;
private String modelo;
private int precoAno2022;
private int precoAno2023;
private int precoAno2024;
//Construtor
public Carro(String marca, String modelo, int precoAno2022, int precoAno2023, int precoAno2024) {
this.marca = marca;
this.modelo = modelo;
this.precoAno2022 = precoAno2022;
this.precoAno2023 = precoAno2023;
this.precoAno2024 = precoAno2024;
}
//Getters
public String getMarca() {
return marca;
}
public String getModelo() {
return modelo;
}
public int getPrecoAno2022() {
return precoAno2022;
}
public int getPrecoAno2023() {
return precoAno2023;
}
public int getPrecoAno2024() {
return precoAno2024;
}
public void fichaTecnica() {
System.out.println("Marca: " +getMarca());
System.out.println("Modelo: " +getModelo());
}
public int mediaPreco() {
int mediaPrecoAnual = (precoAno2022 + precoAno2023 + precoAno2024) / 3;
System.out.println("A média de preços é: " +mediaPrecoAnual);
return mediaPrecoAnual;
}
public void verificacaoPreco() {
int maior;
int menor;
//Verificação do maior preço
if (precoAno2022 >= precoAno2023 && precoAno2022 >= precoAno2024) {
maior = precoAno2022;
System.out.println("Maior preço: " +precoAno2022);
} else if (precoAno2023 >= precoAno2022 && precoAno2023 >= precoAno2024) {
maior = precoAno2023;
System.out.println("Maior preço: " +precoAno2023);
} else {
maior = precoAno2024;
System.out.println("Maior preço: " +precoAno2024);
}
//Verificação do menor preço
if (precoAno2022 <= precoAno2023 && precoAno2022 <= precoAno2024) {
menor = precoAno2022;
System.out.println("Menor preço: " +precoAno2022);
} else if (precoAno2023 <= precoAno2022 && precoAno2023 <= precoAno2024) {
menor = precoAno2023;
System.out.println("Menor preço: " +precoAno2023);
} else {
menor = precoAno2024;
System.out.println("Menor preço: " +precoAno2024);
}
}
}
package Estudo;
public class ModeloCarro extends Carro{
public ModeloCarro(String marca, String modelo, int precoAno2022, int precoAno2023, int precoAno2024) {
super(marca, modelo, precoAno2022, precoAno2023, precoAno2024);
}
public static void main(String[] args) {
ModeloCarro meuCarro = new ModeloCarro("Jeep", "Wrangler",
429990, 456992, 500000);
meuCarro.fichaTecnica();
meuCarro.mediaPreco();
meuCarro.verificacaoPreco();
}
}
Saída esperada:
Marca: Jeep
Modelo: Wrangler
A média de preços é: 462327
Maior preço: 500000
Menor preço: 429990
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 Desafio02;
public class Animal {
//Métodos
public void emitirSom() {
System.out.println("Grunhido");
}
}
package Desafio02;
public class Cachorro extends Animal {
@Override
public void emitirSom() {
System.out.println("Au! Au!");
}
public void abanarRabo() {
System.out.println("Abandando o rabo");
}
public static void main(String[] args) {
Cachorro meuCachorro = new Cachorro();
meuCachorro.emitirSom();
meuCachorro.abanarRabo();
}
}
package Desafio02;
public class Gato extends Animal {
@Override
public void emitirSom() {
System.out.println("Miau!");
}
public void arranharMoveis() {
System.out.println("Arranhando móveis");
}
public static void main(String[] args) {
Gato meuGato = new Gato();
meuGato.emitirSom();
meuGato.arranharMoveis();
}
}
Saída esperada 1:
Au! Au!
Abandando o rabo
Saída esperada 2:
Miau!
Arranhando móveis