4
respostas

Desafio: hora prática - topico 3

import br.com.alura.desafiohoranumerosprimos.GeradorPrimo;
import br.com.alura.desafiohoranumerosprimos.NumerosPrimos;
import br.com.alura.desafiohoranumerosprimos.VerificadorPrimo;
import br.com.alura.desafiohorapraticaanimal.Cachorro;
import br.com.alura.desafiohorapraticaanimal.Gato;
import br.com.alura.desafiohorapraticacarro.ModeloCarro;
import br.com.alura.desafiohorapraticacontabancaria.ContaBancaria;
import br.com.alura.desafiohorapraticacontabancaria.ContaCorrente;

public class Principal {
public static void main(String[] args) {

    // =======================
    // CLASSES DE CARRO
    // =======================
    ModeloCarro civic = new ModeloCarro("Honda Civic", 2020, 155, "Híbrido");
    civic.setPrecos(100000, 97000, 105000);

    ModeloCarro corolla = new ModeloCarro("Toyota Corolla", 2011, 177, "Gasolina");
    corolla.setPrecos(150000, 160000, 145500);

    civic.exibirInformacoes();
    corolla.exibirInformacoes();

    System.out.println("--------------------");

    // =======================
    // CLASSES DE ANIMAL
    // =======================
    Cachorro cachorro = new Cachorro();
    cachorro.emitirSom();
    cachorro.abanarRabo();

    Gato gato = new Gato();
    gato.emitirSom();
    gato.arranharMoveis();

    System.out.println();
    System.out.println("--------------------");

    // =======================
    // CLASSES DE CONTA BANCÁRIA
    // =======================
    ContaBancaria conta = new ContaBancaria();
    conta.depositar(100);
    conta.consultarSaldo();

    ContaCorrente contaCorrente = new ContaCorrente();
    contaCorrente.depositar(300);
    contaCorrente.cobrarTarifaMensal();
    contaCorrente.consultarSaldo();
    contaCorrente.sacar(100);
    contaCorrente.consultarSaldo();

    System.out.println();
    System.out.println("--------------------");

    // =======================
    // OUTROS TESTES (ex: números primos futuramente)
    // =======================

    NumerosPrimos numeros = new NumerosPrimos();
    numeros.listarPrimos(20);

    VerificadorPrimo verificar = new VerificadorPrimo();
    verificar.verificarSeEhPrimo(7);
    verificar.verificarSeEhPrimo(10);

    GeradorPrimo gerador = new GeradorPrimo();
    System.out.println("Próximo primo: " + gerador.gerarProximoPrimo());
    System.out.println("Próximo primo: " + gerador.gerarProximoPrimo());
    System.out.println("Próximo primo: " + gerador.gerarProximoPrimo());




}

}
package br.com.alura.desafiohoranumerosprimos;

public class NumerosPrimos {

// Metodo verificar se um número é primo
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;
}

//Metodo listar primos até um limite
public void listarPrimos(int limite) {
    System.out.println("Primos até " + limite + ":");
    for (int i = 2; i <= limite; i++) {
        if (verificarPrimalidade(i)) {
            System.out.println(i + "");
        }
    }
    System.out.println();
}

}
package br.com.alura.desafiohoranumerosprimos;

public 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!");
    }
}

}

package br.com.alura.desafiohoranumerosprimos;

public class GeradorPrimo extends NumerosPrimos {

private int ultimoPrimo = 1;

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

}

4 respostas

package br.com.alura.desafiohorapraticaanimal;

public class Animal {

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

}

package br.com.alura.desafiohorapraticaanimal;

public class Cachorro extends Animal {

@Override
public void emitirSom() {
    System.out.println("Au, Au");
}

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

}

package br.com.alura.desafiohorapraticaanimal;

public class Gato extends Animal{

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

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

}

package br.com.alura.desafiohorapraticacarro;

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

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

//Metodo calculo preços medios para 3 anos
public void setPrecos(double precoAno1, double precoAno2, double precoAno3) {
    this.precoAno1 = precoAno1;
    this.precoAno2 = precoAno2;
    this.precoAno3 = precoAno3;
}

//Metodo calcula preço menor
public double getMenorPreco() {
    return Math.min(precoAno1, Math.min(precoAno2, precoAno3));
}

//Metodo calcula preço mmaior
public double getMaiorPreco() {
    return Math.max(precoAno1, Math.max(precoAno2, precoAno3));
}

//Exibe informações do carro
public void exibirInformacoes() {
    System.out.println("-----------------------------");
    System.out.println("Modelo: " + modelo);
    System.out.println("Preço no Ano 1: R$ " + precoAno1);
    System.out.println("Preço do Ano 2: R$ " + precoAno2);
    System.out.println("Preço do Ano 3: R$ " + precoAno3);
    System.out.println("Menor Preço: R$ " + getMenorPreco());
    System.out.println("Maior Preço: R$ " + getMaiorPreco());
    System.out.println("-----------------------------");
}

}

package br.com.alura.desafiohorapraticacarro;

public class ModeloCarro extends Carro {
private int anoLancamento;
private int potencia;
private String combustivel;

public ModeloCarro(String modelo, int anoLancamento, int potencia, String combustivel) {
    setModelo(modelo); // chama metodo da classe mãe
    this.anoLancamento = anoLancamento;
    this.potencia = potencia;
    this.combustivel = combustivel;
}


@Override
public void exibirInformacoes() {
    super.exibirInformacoes();
    System.out.println("Ano de Lançamento: " + anoLancamento);
    System.out.println("Potencia: " + potencia + "cv");
    System.out.println("Combustível: " + combustivel);
}

}

package br.com.alura.desafiohorapraticacontabancaria;

public class ContaBancaria {
protected double saldo;

public void depositar(double valor) {
    if (valor <= 0) {
        System.out.println("Valor inválido para depósito.");
    } else {
        saldo += valor;
        System.out.printf("Depósito de R$ %.2f na sua conta!%n ", valor);
        System.out.printf("Saldo atual é: R$ %.2f%n ", saldo);
    }
}

public void sacar(double valor) {
    if (valor <= 0) {
        System.out.println("Valor inválido para saque.");
        return;
    }
    if (valor <= saldo) {
        saldo -= valor;
        System.out.printf("Você sacou de sua C/C o valor de R$ %.2f%n", valor);
        System.out.printf("Seu saldo em C/C é de: R$ %.2f%n", saldo);
    } else {
        System.out.println("Não há saldo em sua conta para esta operação!");

    }
}

public void consultarSaldo() {
    System.out.println("Saldo Atual: " + saldo);
}

}

package br.com.alura.desafiohorapraticacontabancaria;

public class ContaCorrente extends ContaBancaria {

private double taxaTarifaMensal;


public void cobrarTarifaMensal() {
    saldo -= taxaTarifaMensal;
    System.out.printf("Tarifa mensal de R$ %.2f%n mensal: ", taxaTarifaMensal);
    System.out.printf("Saldo atual: R$ %.2f%n ", saldo);
}

}

Olá, Adriano! Tudo bem?

Analisando todos os seus códigos do desafio é possível notar o seu empenho e comprometimento, está correto e apresentou bem os conhecimentos vistos até aqui.

No mais, a título de informação, quando for compartilhar uma grande quantidade de código, recomendo que faça isso usando o Gist, normalmente o mesmo vai estar vinculado com sua conta do GitHub e uma prática melhor para esse tipo de compartilhamento:

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