Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Desafio4

// 1. Carro

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

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

    public void setPrecoAno1(double precoAno1) {
        this.precoAno1 = precoAno1;
    }

    public void setPrecoAno2(double precoAno2) {
        this.precoAno2 = precoAno2;
    }

    public void setPrecoAno3(double precoAno3) {
        this.precoAno3 = precoAno3;
    }

    public void calcularPreco() {
        double menorPreco = Math.min(precoAno1, Math.min(precoAno2, precoAno3));
        double maiorPreco = Math.max(precoAno1, Math.max(precoAno2, precoAno3));
        System.out.println("Menor preço: " + menorPreco);
        System.out.println("Maior preço: " + maiorPreco);
    }
}

// Subclasse ModeloCarro
class ModeloCarro extends Carro {
    public ModeloCarro(String modelo, double precoAno1, double precoAno2, double precoAno3) {
        setModelo(modelo);
        setPrecoAno1(precoAno1);
        setPrecoAno2(precoAno2);
        setPrecoAno3(precoAno3);
    }
}

// Classe Teste Carro
class TesteCarro {
    public static void main(String[] args) {
        ModeloCarro sedan = new ModeloCarro("Sedan", 25000, 27000, 28000);
        ModeloCarro hatch = new ModeloCarro("Hatch", 20000, 21000, 22000);

        System.out.println("Preços do Sedan:");
        sedan.calcularPreco();

        System.out.println("\nPreços do Hatch:");
        hatch.calcularPreco();
    }
}

// 2. Animal

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

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

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

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

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

// Classe Teste Animal
class TesteAnimal {
    public static void main(String[] args) {
        Cachorro cachorro = new Cachorro();
        Gato gato = new Gato();

        System.out.println("Cachorro:");
        cachorro.emitirSom();
        cachorro.abanarRabo();

        System.out.println("\nGato:");
        gato.emitirSom();
        gato.arranharMoveis();
    }
}

// 3. Conta Bancaria

class ContaBancaria {
    protected double saldo;

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

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

    public double consultarSaldo() {
        return saldo;
    }
}

// Subclasse ContaCorrente
class ContaCorrente extends ContaBancaria {
    public void cobrarTarifaMensal(double tarifa) {
        saldo -= tarifa;
    }
}

// Classe Teste ContaCorrente
class TesteContaCorrente {
    public static void main(String[] args) {
        ContaCorrente conta = new ContaCorrente();
        conta.depositar(1000);
        conta.cobrarTarifaMensal(10);

        System.out.println("Saldo da Conta Corrente: " + conta.consultarSaldo());
    }
}
2 respostas

// 4. Numeros Primos

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

// Subclasse VerificadorPrimo
class VerificadorPrimo extends NumerosPrimos {
    public void verificarSeEhPrimo(int numero) {
        if (verificarPrimalidade(numero)) {
            System.out.println(numero + " é primo.");
        } else {
            System.out.println(numero + " não é primo.");
        }
    }
}

// Subclasse GeradorPrimo
class GeradorPrimo extends NumerosPrimos {
    public int gerarProximoPrimo(int numeroAtual) {
        int proximo = numeroAtual + 1;
        while (!verificarPrimalidade(proximo)) {
            proximo++;
        }
        return proximo;
    }
}

// Classe Teste NumerosPrimos
class TesteNumerosPrimos {
    public static void main(String[] args) {
        VerificadorPrimo verificador = new VerificadorPrimo();
        GeradorPrimo gerador = new GeradorPrimo();

        System.out.println("Verificação de Primalidade:");
        verificador.verificarSeEhPrimo(7);
        verificador.verificarSeEhPrimo(12);

        System.out.println("\nPróximos Primos:");
        int proximoPrimo = gerador.gerarProximoPrimo(7);
        System.out.println("Próximo primo após 7: " + proximoPrimo);
        proximoPrimo = gerador.gerarProximoPrimo(12);
        System.out.println("Próximo primo após 12: " + proximoPrimo);
    }
}

solução!

Olá, Samil! Tudo bem?

Excelente código, parabéns pelo projeto! Deu pra notar a aplicações de conceitos muito importantes de Orientação a Objetos em Java. 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!