Dúvidas com retornos de números primos

2 respostas
Deise2007

Oi gente, aqui estou novamente para pedir mais uma ajuda por favor.
Tenho o programa abaixo:

public class Primos {
  public static void main (String[] args){
   
    int nValores=50;
    int i;
    boolean primo=true;

    for (int i=2; i<=nValores; i++) // condição p/ imprimir todos os primos menores  ou iguais que 'nValores'
    {
      primo = true;

      for (int j=2; j < i; j++)
      {
        if (i % j == 0)
          {
            primo = false;  // se não for primo 
            break;            // não é exibido 
           }
       }
        if (primo)  // se for primo o numero é exibido
          System.out.println(i);
      }
    }
 }

Ele exibe todos os números primos até o numero 50. Mas o que eu preciso é o seguinte:
Queria que o usuário entrasse com qualquer numero inteiro e imprimisse o numero junto com a condição de primo ou não (ex: 43 primo ou 50 não primo). Como eu faria isso ? Ou o seguinte, como está até o numero 50, que imprimisse todos os numeros com as suas condições (primo ou não) ao lado.
O importante de tudo nesse programa, eu preciso que tenha um método estático boolean Primos (int n) que recebe um inteiro n como argumento e que retorne se é primo ou não, então queria saber se diante desse programa isso tudo já está feito ?

Espero por alguma ajuda !
bjs a todos

2 Respostas

fujioka

Você deseja guardar isso em algum lugar ou é so imprimir??? se for so imprimir é facil apenas

public class Primos {  
    public static void main (String[] args){  
        
       int nValores=50;  
       int i;  
       boolean primo=true;  
      
       for (int i=2; i<=nValores; i++) // condição p/ imprimir todos os primos menores  ou iguais que 'nValores'  
       {  
        primo = true;  
    
     for (int j=2; j < i; j++)  
      {  
        if (i % j == 0)  
          {  
            primo = false;  // se não for primo   
            break;            // não é exibido   
           }  
       }  
        if (primo) {
          System.out.println(i + " Primo");  
        }else if(!primo){
          System.out.println(i + " Não é Primo"); 
                 }
      }  
     }  
 }

So isso =)

Deise2007

Ok, só quero imprimir mesmo.
Mais em relação a minha pergunta do método estático boolean? Ele já existe ? :-o
E a questão de eu verificar um número inteiro qualquer e não ficar “presa” nos valores até 50 ? Como seria essa linha e onde eu a colocaria?

Desde já obrigada

Criado 12 de setembro de 2007
Ultima resposta 13 de set. de 2007
Respostas 2
Participantes 2