1
resposta

[Dúvida] Duvida exercício 4

Eu consegui fazer o método de verificar se um numero é primo, porem o segundo metodo nao estou conseguindo que seria o listarPrimos. Nao sei como devo fazer para imprimir todos os numeros primos ate o numero que o usuario escolher...

public class NumerosPrimos {

    public void verificarPrimalidade() {
        Scanner teclado = new Scanner(System.in);
        int cont = 0;
        System.out.println("Digite um numero");
        int num = teclado.nextInt();

        for (int i = 1; i <= num; i++) {
            if (num % i == 0) {
                cont++;
            }
        }

        if (cont == 2) {
            System.out.println("O  " + num + " é primo!");
        } else {
            System.out.println("O  " + num + " nāo é primo!");
1 resposta

O Rudy, tudo bem ?

Eu reescrevi seu código aqui, vou enviar junto com algumas explicações e dicas:

Código completo

public class NumerosPrimos {

    public boolean EhPrimo(int num) {
        int cont = 0;
        for (int i = 1; i <= num; i++) {
            if (num % i == 0) {
                cont++;
            }
        }
        return cont == 2;
    }

    public void listarPrimos() {
        Scanner teclado = new Scanner(System.in);
        System.out.println("Digite um número: ");
        int limite = teclado.nextInt();

        System.out.println("Números primos até " + limite + ":");
        for (int i = 2; i <= limite; i++) {
            if (ehPrimo(i)) {
                System.out.print(i + " ");
            }
        }
    }
 
}

Explicação:

  • Nomes: Eu substitui o nome de verificandoPrimalidade para ehPrimo. Como em português temos acento no é, coloquei um h para dar a intenção de éPrimo.

Comumente no mercado de trabalho escrevemos os códigos em inglês e esse tipo de método fica com o nome de isSomething(onde something é o que substantivo que estamos comparando)

  • Lógica Para resolver sua dúvida e listar todos os números primos até um número informado, criei um novo método chamado listarPrimos(), que faz um loop de 2 até o número escolhido, verificando se cada um é primo.

Conclusões

Espero ter ajudado!

Se precisar de alguma dúvida me dá um toque !!! Caso tenha te ajudado, pode fechar o tópico!