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.
import java.util.Scanner;
public class Carro {
private String marca;
private String modelo;
private double valorAno1;
private double valorAno2;
private double valorAno3;
private double ano1;
private double ano2;
private double ano3;
Scanner sc = new Scanner(System.in);
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public String getModelo() {
return modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public double getValorAno1() {
return valorAno1;
}
public void setValorAno1(double valorAno1) {
this.valorAno1 = valorAno1;
}
public double getValorAno2() {
return valorAno2;
}
public void setValorAno2(double valorAno2) {
this.valorAno2 = valorAno2;
}
public double getValorAno3() {
return valorAno3;
}
public void setValorAno3(double valorAno3) {
this.valorAno3 = valorAno3;
}
public double getAno1() {
return ano1;
}
public void setAno1(double ano1) {
this.ano1 = ano1;
}
public double getAno2() {
return ano2;
}
public void setAno2(double ano2) {
this.ano2 = ano2;
}
public double getAno3() {
return ano3;
}
public void setAno3(double ano3) {
this.ano3 = ano3;
}
public void entrarDadosCarro() {
System.out.println("Insira a marca do carro: ");
setMarca(this.marca = sc.nextLine());
System.out.println("Insira o modelo do carro: ");
setModelo(this.modelo = sc.nextLine());
}
public void entrarValorCarro() {
System.out.println("Insira o primeiro ano do veículo: ");
setAno1(this.ano1 = sc.nextInt());
System.out.println("Insira o segundo ano do veículo: ");
setAno2(this.ano2 = sc.nextInt());
System.out.println("Insira o terceiro ano do veículo: ");
setAno3(this.ano3 = sc.nextInt());
System.out.println("Insira o valor do veiculo no primeiro ano: ");
setValorAno1(this.valorAno1 = sc.nextInt());
System.out.println("Insira o valor do veiculo no segundo ano: ");
setValorAno2(this.valorAno2 = sc.nextInt());
System.out.println("Insira o valor do veiculo no terceiro ano: ");
setValorAno3(this.valorAno3 = sc.nextInt());
}
public void exibirInformacaoCarro() {
System.out.println("===== SAIDA DE DADOS =====");
System.out.println("Marca do veículo: " + this.getMarca());
System.out.println("Modelo do veículo: " + this.getModelo());
System.out.println("Valor do veículo primeiro ano: " + this.getValorAno1());
System.out.println("Valor do veículo segundo ano: " + this.getValorAno2());
System.out.println("Valor do veículo terceiro ano:" + this.getValorAno3());
System.out.println("Menor preço identificado foi: " + identificarMenorPreco());
System.out.println("Maior preço identificado foi: " + identificarMaiorPreco());
}
private double identificarMenorPreco() {
double menorPreco = 0;
if (getValorAno1() < getValorAno2() && getValorAno1() < getValorAno3()) {
return this.getValorAno1();
} else if (getValorAno2() < getValorAno1() && getValorAno2() < getValorAno3()) {
return this.getValorAno2();
} else {
}return this.getValorAno3();
}
private double identificarMaiorPreco() {
double maiorPreco = 0;
if (getValorAno1() > getValorAno2() && getValorAno1() > getValorAno3()) {
return this.getValorAno1();
} else if (getValorAno2() > getValorAno1() && getValorAno2() > getValorAno3()) {
return this.getValorAno2();
} else {
}return this.getValorAno3();
}
}