Uso do comando While

7 respostas
Bruna_Mihcelly

Ola gente!
Estou iniciando em programaçao agora, so sei do basico mesmo.
Tenho alguns exercicios para fazer e estou com uma duvida imensa…

o exercicio diz pra imprimir todos os numero primos presentes no intervalo de N1 e N2 formecidos
pelo usuário.

O problema é que quando o intervalo nao tem numeros primos, o programa imprime todas as mnsgs e faz isso com
todos os numero que coloco, sempre sai mais de uma mensagem na cosole. eu uso o drjava. :? [i]

7 Respostas

drsmachado

Dentro do while você deve ter um (ou mais) if(s) para verificar se o número é primo, certo?
Pode estar faltando um else…

erikyami

coloca seu código para podermos analisar

yoshikichi

Acho que isso te ajuda.

Bruna_Mihcelly
int  n1 = np.nextInt();
 int  n2 = np.nextInt();
 
 int cont = n1;
  while( cont <= n2) {
    if ( n2 > n1 ) {
      System.out.println( " O intervalo é invalido. " ); }
  
    else if ( n1 >= -1 || n2 >= -1 ){
 System.out.println( " Somente números naturais são permitidos. " ) ; }
   
   Boolean  primo = true;
    int cont2 = 2;
    
    while(cont2 <= (cont/2))  {
      if( (cont%cont2) == 0 ){
        primo = false;
        System.out.println(" Não ha numeros primos no intervalo. " );
       
      }cont2 += 1 ;
        break; 
    
    }if ( primo ) 
      System.out.println(" O número " +cont+ " é primo. ");
      cont += 1;
    
  }

tai o codigo porem quando eu rodo o programa sepre aparece mais de uma mensagem e nao apresenta se é primo!!!
Ajuda…

ViniGodoy

Use o crivo.

Bruna_Mihcelly

[quote=yoshikichi]Acho que isso te ajuda.

Obrigada meu anjo vou da uma olhada!

Bruna_Mihcelly

drsmachado:
Dentro do while você deve ter um (ou mais) if(s) para verificar se o número é primo, certo?
Pode estar faltando um else…

Mas segundo o meu professor os if(s) dentro do while nao necessita de else?!!!

Criado 5 de outubro de 2011
Ultima resposta 5 de out. de 2011
Respostas 7
Participantes 5