1
resposta

Desafio

Classe Carro:

class Carro {
    private String nomeModelo;
    private double[] precos;

    public Carro(String nomeModelo, double[] precos) {
        this.nomeModelo = nomeModelo;
        this.precos = precos;
    }

    public void definirNomeModelo(String nomeModelo) {
        this.nomeModelo = nomeModelo;
    }

    public String obterNomeModelo() {
        return nomeModelo;
    }

    public double obterMenorPreco() {
        double menor = precos[0];
        for (double preco : precos) {
            if (preco < menor) {
                menor = preco;
            }
        }
        return menor;
    }

    public double obterMaiorPreco() {
        double maior = precos[0];
        for (double preco : precos) {
            if (preco > maior) {
                maior = preco;
            }
        }
        return maior;
    }

    public void mostrarInformacoes() {
        System.out.println("Modelo: " + nomeModelo);
        System.out.println("Menor Preço: " + obterMenorPreco());
        System.out.println("Maior Preço: " + obterMaiorPreco());
    }
}

class ModeloCarro extends Carro {
    public ModeloCarro(String nomeModelo, double[] precos) {
        super(nomeModelo, precos);
    }
}

Classes Animal, Cachorro, Gato:

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

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

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

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

    public void arranharMoveis() {
        System.out.println("Gato arranhando móveis");
    }
}

Classe ContaBancaria, ContaCorrente:

class ContaBancaria {
    protected double saldo;

    public void depositar(double quantia) {
        saldo += quantia;
    }

    public void sacar(double quantia) {
        if (quantia <= saldo) {
            saldo -= quantia;
        } else {
            System.out.println("Saldo insuficiente");
        }
    }

    public double consultarSaldo() {
        return saldo;
    }
}

class ContaCorrente extends ContaBancaria {
    private static final double TARIFA_MENSAL = 15.0;

    public void cobrarTarifaMensal() {
        if (saldo >= TARIFA_MENSAL) {
            saldo -= TARIFA_MENSAL;
        } else {
            System.out.println("Saldo insuficiente para cobrar a tarifa mensal");
        }
    }
}

Classe NumerosPrimos, VerificadorPrimo, GeradorPrimo:

class NumerosPrimos {
    public boolean verificarPrimalidade(int numero) {
        if (numero <= 1) return false;
        for (int i = 2; i <= Math.sqrt(numero); i++) {
            if (numero % i == 0) return false;
        }
        return true;
    }

    public void listarPrimos(int limite) {
        for (int i = 2; i <= limite; i++) {
            if (verificarPrimalidade(i)) {
                System.out.print(i + " ");
            }
        }
        System.out.println();
    }
}

class VerificadorPrimo extends NumerosPrimos {
    public boolean verificarSeEhPrimo(int numero) {
        return verificarPrimalidade(numero);
    }
}

class GeradorPrimo extends NumerosPrimos {
    private int ultimoPrimo = 1;

    public int gerarProximoPrimo() {
        int numero = ultimoPrimo + 1;
        while (!verificarPrimalidade(numero)) {
            numero++;
        }
        ultimoPrimo = numero;
        return numero;
    }
}
1 resposta

Olá, Rodrigo! Tudo bem?

Excelentes códigos, parabéns pelo projeto! Espero que esteja gostando do curso! Colocar em execução as atividades propostas pelo professor em aula é uma prática muito importante para internalizarmos o conteúdo. Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!