1
resposta

Desafio: Hora da Prática

Desafio 1:

package br.com.alura.screenmatch.desafio.get.set;

public class Carro {
private String modelo;
private double precoAno1;
private double precoAno2;
private double precoAno3;

public void definirModelo(String nome) {
this.modelo = nome;
}

public void definirPrecos(double ano1, double ano2, double ano3) {
this.precoAno1 = ano1;
this.precoAno2 = ano2;
this.precoAno3 = ano3;
}

public void fichaDeInformacao() {
System.out.println("Modelo: " + modelo);
System.out.println("Preço Ano 1: " + precoAno1);
System.out.println("Preço Ano 2: " + precoAno2);
System.out.println("Preço Ano 3: " + precoAno3);
 System.out.println("Menor Preço: " + calcularMenorPreco());
System.out.println("Maior Preço: " + calcularMaiorPreco());
}

private double calcularMenorPreco() {
double menorPreco = precoAno1;

if (precoAno2 < menorPreco) {
menorPreco = precoAno2;
}

if (precoAno3 < menorPreco) {
menorPreco = precoAno3;
}

return menorPreco;
}

private double calcularMaiorPreco() {
double maiorPreco = precoAno1;

if (precoAno2 > maiorPreco) {
maiorPreco = precoAno2;
}

if (precoAno3 > maiorPreco) {
maiorPreco = precoAno3;
}
return maiorPreco;
}

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;
}
}

package br.com.alura.screenmatch.desafio.get.set;

public class Main {
public static void main(String[] args) {
Carro carro = new Carro();
carro.setModelo("Jetta");
carro.definirPrecos(75000, 95000, 100000);
System.out.println("Os valores do Carro são: R$" + carro.getPrecoAno1());
System.out.println("Os valores do Carro são: R$" + carro.getPrecoAno2());
System.out.println("Os valores do Carro são: R$" + carro.getPrecoAno3());
carro.fichaDeInformacao();
}
}

Desafio 2:

package br.com.alura.screenmatch.desafio.get.set;

public class Animal {
public void emitirSom() {
System.out.println("Som genérico do animal");
}
}

package br.com.alura.screenmatch.desafio.get.set;

public class Cachorro extends Animal {
@Override
public void emitirSom() {
System.out.println("Cachorro:");
System.out.println("Au Au Au!");
}

public void abanarRabo() {
System.out.println("O Cachorro está abanando o rabo.");
}

public static void main(String[] args) {
Cachorro latido = new Cachorro();
latido.emitirSom();
latido.abanarRabo();
}
}

package br.com.alura.screenmatch.desafio.get.set;

public class Gato extends Animal {
@Override
public void emitirSom(){
System.out.println("Gato:");
System.out.println("Miau Miau!");
}

public void arranhandoMovel(){
System.out.println("O gato está arranhando os movéis!");
}

public static void main(String []args){
Gato miando = new Gato();
miando.emitirSom();
miando.arranhandoMovel();
}
}

package br.com.alura.screenmatch.desafio.get.set;

public class CachorroGatoMain {
public static void main (String [] args){
Cachorro latindo = new Cachorro();
latindo.emitirSom();
latindo.abanarRabo();

Gato arranha = new Gato();
arranha.emitirSom();
arranha.arranhandoMovel();
}
}

Desafio 3:

package br.com.alura.screenmatch.desafio.get.set;

public class ContaBancaria {
private double saldo;
public void depositar(double valor) {
saldo += valor;
}

public void sacar(double valor) {
saldo -= valor;
}

public double consultarSaldo() {
return saldo;
}
}

package br.com.alura.screenmatch.desafio.get.set;

public class ContaCorrente extends ContaBancaria {
public static void main(String[] args) {

ContaCorrente conta = new ContaCorrente();
conta.depositar(400);
conta.sacar(200);
conta.cobrarTarifaMensal();

System.out.println(conta.consultarSaldo());

}

public void cobrarTarifaMensal() {
System.out.println("Valor pós tarifa: ");
sacar(50);
}
}
1 resposta

Oi, Henrique! Como vai?

Agradeço por compartilhar.

Gostei de ver como você organizou os três desafios separando bem as classes e aplicando conceitos importantes de encapsulamento, herança e sobrescrita de métodos. No desafio do Carro, ficou legal a lógica para encontrar o menor e o maior preço, e nos exemplos de Cachorro, Gato e ContaCorrente você mostrou que entendeu bem como cada classe pode ter seu próprio comportamento.

Se quiser, você pode usar Math.min() e Math.max() pra deixar comparações numéricas mais curtas e fáceis de ler.


double menorPreco = Math.min(precoAno1, Math.min(precoAno2, precoAno3));
double maiorPreco = Math.max(precoAno1, Math.max(precoAno2, precoAno3));

System.out.println("Menor preco: " + menorPreco);
System.out.println("Maior preco: " + maiorPreco);

Esse código compara os três valores e mostra direto qual é o menor e o maior preço.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!