Desafio 1:
Adaptei um pouco o primeiro desafio para melhor abstração de superclasse e subclasse.
package br.com.alura.screenmatch.atividades.capitulo3;
public class Transporte {
private String modelo;
private double precoAno1;
private double precoAno2;
private double precoAno3;
public void setPrecos(double precoAno1, double precoAno2, double precoAno3) {
this.precoAno1 = precoAno1;
this.precoAno2 = precoAno2;
this.precoAno3 = precoAno3;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public String getModelo() {
return modelo;
}
public double exibePrecoMedio(){
return (precoAno1 + precoAno2 + precoAno3) / 3;
}
public double calculaMaiorPreco(){
double maiorPreco = this.precoAno1;
if (maiorPreco < this.precoAno2){
maiorPreco = this.precoAno2;
}
if (maiorPreco < this.precoAno3){
maiorPreco = this.precoAno3;
}
return maiorPreco;
}
public double calculaMenorPreco(){
double menorPreco = this.precoAno1;
if (menorPreco > precoAno2) {
menorPreco = this.precoAno2;
}
if (menorPreco > precoAno3) {
menorPreco = this.precoAno3;
}
return menorPreco;
}
}
package br.com.alura.screenmatch.atividades.capitulo3;
public class Carro extends Transporte{
private String tipoCarro;
private String corDoCarro;
public String getTipoCarro() {
return tipoCarro;
}
public void setTipoCarro(String tipoCarro) {
this.tipoCarro = tipoCarro;
}
public String getCorDoCarro() {
return corDoCarro;
}
public void setCorDoCarro(String corDoCarro) {
this.corDoCarro = corDoCarro;
}
}
package br.com.alura.screenmatch.atividades.capitulo3;
public class PrincipalCapitulo3 {
public static void main(String[] args) {
Transporte transporte1 = new Transporte();
transporte1.setModelo("Embraer EMB-314 Super Tucano");
transporte1.setPrecos(17,20,21);
System.out.println("Modelo do Transporte: " + transporte1.getModelo());
System.out.println("Menor valor comercializado (em milhões R$): " + transporte1.calculaMenorPreco());
System.out.println("Maior valor comercializado (em milhões R$): " + transporte1.calculaMaiorPreco());
System.out.println("Média dos valores comercializados (em milhões R$): " + transporte1.exibePrecoMedio());
Carro carro1 = new Carro();
carro1.setModelo("BYD Dolphin");
carro1.setTipoCarro("Elétrico");
carro1.setCorDoCarro("Branco");
carro1.setPrecos(150, 160, 190);
System.out.println("Modelo do Carro: " + carro1.getModelo());
System.out.println("Tipo do Carro: %s \nCor do Carro: %s".formatted(carro1.getTipoCarro(),carro1.getCorDoCarro()));
System.out.println("Menor valor comercializado (em mil R$): " + carro1.calculaMenorPreco());
System.out.println("Maior valor comercializado (em mil R$): " + carro1.calculaMaiorPreco());
System.out.println("Média dos valores comercializados (em mil R$): " + carro1.exibePrecoMedio());
}
}
Desafio 2:
package br.com.alura.screenmatch.atividades.capitulo3;
public class Animal {
public void emitirSom(){
System.out.println("Emitindo som!");
}
}
package br.com.alura.screenmatch.atividades.capitulo3;
public class Cachorro extends Animal{
@Override
public void emitirSom() {
System.out.println("Au au au au!");
}
public void abanarRabo(){
System.out.println("Abanando o rabo!");
}
}
package br.com.alura.screenmatch.atividades.capitulo3;
public class Gato extends Animal{
@Override
public void emitirSom() {
System.out.println("Miau!");
}
public void arranharMoveis(){
System.out.println("Arranhando móveis!");
}
}
Os demais não couberam aqui! (Sinal para eu criar um conta no Github e upar lá, fui)