Ajuda PARA identificar num primo

  1. Faça um programa que obtenha e exiba na tela todos os números primos de 1 até 150. Os números primos são aqueles que só são divisíveis por 1 e por eles mesmos (exemplo: 1, 3, 5, 7, …).

Int n=1;
For (int i=1;i<=151;i++)
{
if ((n % i == 0) || (n % 1 == 0))
{
System.out.println(?Os Números primos são ? + i);
}
}

Será que alguém pode me ajudar neste exercicio. não consigo fazer.

Há eu tenho que usar o comando for ou While.

Olá.

Qual a sua dúvida?

Oi este meu programa, não rodou, ele conta os numeros de 1 a 150.
E eu preciso somente dos numeros primos.

não sei porque.

[quote=dinorah]Oi este meu programa, não rodou, ele conta os numeros de 1 a 150.
E eu preciso somente dos numeros primos.

não sei porque.
[/quote]

Seu erro esta no if. Olha la, tem a primeira condição ou o numero / 1 tem resto = 0… todo o numero dividido por um tem resto = 0.

Ali tem q ser && (AND).

Para resolver pelo caminho que você está indo, você pode usar um ArrayList para guardar os números primos que fôr encontrando. Alternativamente, crie um crivo de Erastótenes. (um array de booleans funciona bem)

O loco rs… ela so quer mostrar os números !!! Não precisa de um array nem nada… Eh calcular e mostrar.

Oi,

vc nao precisa verificar se ele é divisivel por 1, pois todo numero eh,
outra coisa vc n esta incrementado a variavel n

tente fazer assim:

 for (int a=1;a<=150;a++)
      {
int qtd = 0;   
   if(a == 1)
      System.out.println(a);
   else
      {
         for(int cont=1;cont<=a;cont++)
            if( (a % cont) == 0)       
               qtd++;
	         
         if(qtd == 2)
        	 System.out.println(a); 
    }
       }

Se não entender avisa

Que programa simples, que é tão dificil…rs

1 não é primo, comece de 2.

  public static void primos(){

        int contador = 0, divisor;
		      
         for(int x = 2; x < 151; x++){
		        
               divisor = x; 
		          
               while(divisor >= 1) {

                   if(x % divisor == 0)
		            	
                       contador++;
		  
                   divisor--;
              }
		         
             if(contador == 2) 
                  System.out.println(x+" ");

          contador = 0;
        }
}

não vi que a caroline_colleto postou

O Programa da Caroline e o seu (zanubix), sempre imprime o numero 2.

Bom consegui entender.

Mesmo assim, muito obrigada, agora já tenho base para continuar amanhã, já estudei demais hj.
Boa noite e boa semana para todos.