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.
Classe Carro
package br.com.alura.lojacarro;
import br.com.alura.lojacarro.calculos.Calculadora;
public class Carro extends Calculadora {
private String modelo;
private double precoAno1;
private double precoAno2;
private double precoAno3;
public String getModelo() {
return modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public double getPrecoAno1() {
return precoAno1;
}
public void setPrecoAno1(double precoAno1) {
this.precoAno1 = precoAno1;
}
public double getPrecoAno2() {
return precoAno2;
}
public void setPrecoAno2(double precoAno2) {
this.precoAno2 = precoAno2;
}
public double getPrecoAno3() {
return precoAno3;
}
public void setPrecoAno3(double precoAno3) {
this.precoAno3 = precoAno3;
}
public void definirModelo(String modelo){
this.modelo = modelo;
}
public void definirPrecos(double precoAno1,double precoAno2,double precoAno3){
this.precoAno1 = precoAno1;
this.precoAno2 = precoAno2;
this.precoAno3 = precoAno3;
}
public void exibirInfo(){
System.out.println("Modelo: " + modelo);
System.out.println("Preço Ano 1: " + getPrecoAno1());
System.out.println("Preço Ano 2: " + getPrecoAno2());
System.out.println("Preço Ano 3: " + getPrecoAno3());
System.out.println();
}
}
Classe ModeloCarro
package br.com.alura.lojacarro;
public class ModeloCarro extends Carro{
}
Classe Calculadora
package br.com.alura.lojacarro.calculos;
import br.com.alura.lojacarro.Carro;
public class Calculadora {
private double calcularMenorPreco(Carro carro) {
double menorPreco = carro.getPrecoAno1();
if (carro.getPrecoAno2() < menorPreco) {
menorPreco = carro.getPrecoAno2();
}
if (carro.getPrecoAno3() < menorPreco) {
menorPreco = carro.getPrecoAno3();
}
return menorPreco;
}
private double calcularMaiorPreco(Carro carro) {
double maiorPreco = carro.getPrecoAno1();
if (carro.getPrecoAno2() > maiorPreco) {
maiorPreco = carro.getPrecoAno2();
}
if (carro.getPrecoAno3() > maiorPreco) {
maiorPreco = carro.getPrecoAno3();
}
return maiorPreco;
}
public void resultado(Carro c) {
double me = calcularMenorPreco(c);
double ma = calcularMaiorPreco(c);
System.out.println("Menor Preço: " + me);
System.out.println("Maior Preço: " + ma);
}
}
Classe Principal
import br.com.alura.lojacarro.ModeloCarro;
import br.com.alura.lojacarro.calculos.Calculadora;
public class Principal {
public static void main(String[] args) {
ModeloCarro meuCarro = new ModeloCarro();
meuCarro.setModelo("Uno");
meuCarro.setPrecoAno1(20000);
meuCarro.setPrecoAno2(15000);
meuCarro.setPrecoAno3(10000);
meuCarro.exibirInfo();
Calculadora cal = new Calculadora();
cal.resultado(meuCarro);
}
}