2
respostas

[Projeto] Resolução dos desafios da aula 3

//Classe Carro
// package br.com.alura.templates;

public class Carro {
    protected String modelo;
    protected double pr1, pr2,pr3;

    public String getModelo() {
        return modelo;
    }

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

    public void setPr1(double preco1) {
        this.pr1 = preco1;
    }

    public void setPr2(double preco2) {
        this.pr2 = preco2;
    }

    public void setPr3(double preco3) {
        this.pr3 = preco3;
    }

    public double menorPreco() {
        return Math.min(pr1,
                Math.min(pr2, pr3));
    }

    public double maiorPreco() {
        return Math.max(pr1,
                Math.max(pr2, pr3));
    }
}

//Classe Modelo Carro
// package br.com.alura.templates;

public class ModeloCarro extends Carro{

    public ModeloCarro(String modelo, double preco1, double preco2, double preco3)
    {
        this.modelo = modelo;
        this.pr1=preco1;
        this.pr2=preco2;
        this.pr3=preco3;
    }

    public void MostraCarro(){
        System.out.println("Veículo modelo: " + getModelo());
        System.out.println("Menor preço: " + menorPreco());
        System.out.println("Maior preço: " + maiorPreco());
    }
}

//Classe Animal
// package br.com.alura.templates;

public class Animal {
    private String animal;

    public void emitirSom(){
        System.out.println("Emitindo sons");
    }

    public String getAnimal() {
        return animal;
    }

    public void setAnimal(String animal) {
        this.animal = animal;
    }
}

//Classe Modelo Carro
// package br.com.alura.templates;

public class ModeloCarro extends Carro{

    public ModeloCarro(String modelo, double preco1, double preco2, double preco3)
    {
        this.modelo = modelo;
        this.pr1=preco1;
        this.pr2=preco2;
        this.pr3=preco3;
    }

    public void MostraCarro(){
        System.out.println("Veículo modelo: " + getModelo());
        System.out.println("Menor preço: " + menorPreco());
        System.out.println("Maior preço: " + maiorPreco());
    }
}

// Classe ContaBancaria
// package br.com.alura.templates;

public class ContaBancaria {
    protected double saldo;

    public ContaBancaria(double saldoInicial){
        if (saldoInicial<0) {
            System.out.println("O saldo inicial não pode ser negativo");
        }
        else {
            saldo = saldoInicial;
        }
    }

    public void depositar(double valor){
        if (valor<0) {
            System.out.println("O valor não pode ser negativo");
        }
        else {
            saldo += valor;
        }
    }

    public void sacar(double valor){
        if (valor<0 || valor>saldo) {
            System.out.println("O valor não pode ser negativo e nem pode ser maior que o saldo atual");
        }
        else {
            saldo -= valor;
        }
    }

    public double consultarSaldo(){
        return saldo;
    }
}

// Classe ContaCorrente
// package br.com.alura.templates;

public class ContaCorrente extends ContaBancaria{
    public ContaCorrente(double saldoInicial) {
        super(saldoInicial);
    }

    public void cobrarTarifaMensal(double tarifa){
        saldo -=tarifa;
    }
}

// Classe NumerosPrimos
// package br.com.alura.templates;

public class NumerosPrimos {

    public boolean VerificarPrimalidade(int num){
        int i;
        int limite;

        if (num==1) return false;
        limite = (int) Math.sqrt(num);
        for (i=2; i<=limite ; i++) {
            if (num % i ==0) return false;
        }
        return true;
    }

    public void listarPrimos(int num){
        int i;
        for (i=2; i<=num; i++)
            if (VerificarPrimalidade(i)) {System.out.println(i);};
    }
}

// Classe VerificadorPrimo
// package br.com.alura.templates;

public class VerificadorPrimo extends NumerosPrimos{
    public void verificarSeEhPrimo(int num){
        if (VerificarPrimalidade(num)) {
            System.out.println("Número " +num + " é primo");
        }
        else {
            System.out.println("Número " +num + " não é primo");
        }
    }
}

//Classe GeradorPrimo
// package br.com.alura.templates;

public class GeradorPrimo extends NumerosPrimos {
    public void gerarProximoPrimo(int num){
        int i;
        for (i=num+1; !VerificarPrimalidade(i); i++){}
        System.out.println("Próximo número primo depois de " + num + " é " + i);
    }
}
2 respostas

// Principal (Main) import br.com.alura.templates.*;

public class Main { public static void main(String[] args) { // Desafio Carro ModeloCarro polo = new ModeloCarro("Track", 70000, 81000, 93000); polo.MostraCarro();

    ModeloCarro city = new ModeloCarro("Touring", 101500, 108000, 130000);
    city.MostraCarro();

    // Desafio Animal
    Cachorro bilu = new Cachorro();
    System.out.println("Animal: " + bilu.getAnimal());
    bilu.emitirSom();
    bilu.abanarRabo();

    Gato puma = new Gato();
    System.out.println("Animal: " + puma.getAnimal());
    puma.emitirSom();
    puma.arranharMoveis();

    // Desafio Conta bancária
    ContaCorrente conta789 = new ContaCorrente(500);
    conta789.depositar(300);
    conta789.sacar(1500);
    conta789.sacar(150.53);
    conta789.cobrarTarifaMensal(12.5);
    System.out.println("Saldo final é: " + conta789.consultarSaldo());

    // Desafio números primos
    VerificadorPrimo num37 = new VerificadorPrimo();
    num37.verificarSeEhPrimo(37);
    num37.verificarSeEhPrimo(136);

    GeradorPrimo num200 = new GeradorPrimo();
    num200.gerarProximoPrimo(200);
}

}

Oi Cesar, tudo bem? 😊

Parabéns pela iniciativa de resolver os desafios e compartilhar seu código! 👏

Seus códigos estão bem estruturados e demonstram um bom entendimento dos conceitos de orientação a objetos, como herança e polimorfismo.

🎓 Para saber mais: