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