Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio: Números Primos

4.Crie uma classe NumerosPrimos com métodos como verificarPrimalidade() e listarPrimos(). Em seguida, crie duas subclasses, VerificadorPrimo e GeradorPrimo, que herdam da classe NumerosPrimos. Adicione um método específico para cada uma das subclasses, como verificarSeEhPrimo() para o VerificadorPrimo e gerarProximoPrimo() para o GeradorPrimo.

Números Primos

package br.com.alura.numerosprimos;

public class NumerosPrimos {
    public boolean verificarPrimalidade(int numero){
        if (numero <= 1) {
            return false;
        }
        for (int i = 2; i * i <= numero ; i++) {
            if (numero % i == 0) {
                return false;
            }
        } return true;
    }
    public void listarPrimos(int limiteSuperior){
        System.out.println("Números Primos até " + limiteSuperior + ": ");
        for (int i = 2; i <= limiteSuperior ; i++){
            if (verificarPrimalidade(i)){
                System.out.println(i + " ");
            }
        }
        System.out.println(" ");
    }
}

Gerador de Primos

package br.com.alura.numerosprimos;

public class GeradorPrimo extends NumerosPrimos {
    public int geradorNumeroPrimo(int ultimoPrimoConhecido) {
        int proximoPrimo = ultimoPrimoConhecido + 1;
        while (!verificarPrimalidade(proximoPrimo)) {
            proximoPrimo++;
        }
        return proximoPrimo;
    }
}

Verificador de Primos

package br.com.alura.numerosprimos;

public class VerificadorPrimo extends NumerosPrimos {
    public void verificarSeEhPrimo(int numero){
        if (verificarPrimalidade(numero)){
            System.out.println("O Número: " + numero + " é Primo!");
        }
        else System.out.println("O Número: " + numero + " não é Primo!");
    }
}

Main

import br.com.alura.numerosprimos.GeradorPrimo;
import br.com.alura.numerosprimos.NumerosPrimos;
import br.com.alura.numerosprimos.VerificadorPrimo;

public class Main {
    public static void main(String[] args) {
        VerificadorPrimo verificadorPrimo = new VerificadorPrimo();
        verificadorPrimo.verificarSeEhPrimo(13);
        GeradorPrimo geradorPrimo = new GeradorPrimo();
        int proximoPrimo = geradorPrimo.geradorNumeroPrimo(11);
        System.out.println(proximoPrimo);
        NumerosPrimos numerosPrimos = new NumerosPrimos();
        numerosPrimos.listarPrimos(33);
    }
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Olá, Kevin! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso da herança para organizar melhor as classes, utilizou muito bem os métodos específicos para cada subclasse e ainda compreendeu a importância da reutilização de código para tornar o programa mais eficiente e legível.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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