[Language]Problème de boucle
bonjour j'ai créé un petit programme qui me sort les nombre premier entre 1 et un nombre entré au clavier
mais il boucle fou
quelqu'un pourrait-il m'aider voici mon code
classe premier
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
import java.io.*;
public class Premier
{
public void Prem()
{ boolean bool=true;
int nb=0;
int j=1;
BufferedReader bf=null;
System.out.println (" entrez le nombre voulu ");
bf = new BufferedReader ( new InputStreamReader (System.in));
try
{
nb = Integer.parseInt (bf.readLine());
}
catch ( NumberFormatException e)
{
e.printStackTrace();
}
catch (IOException e )
{
e.printStackTrace();
}
while (j<=nb)
{for( int i=2;i<j;i++)
{
if ( j % i!=0 ) { bool=true;j++;}
else {bool=false;break;}
}
if (bool ==true) System.out.println (j );
j++;
}
}
} |
main
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
public class NbPremier
{
public static void main(String[] args)
{
Premier p;
p = new Premier();
p.Prem();
}
} |
un grand merci d'avance
marc [/quote]
[Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java
Re: [Debutant(e)]exercice java
Je pense que le problème vient de là :
Citation:
import java.io.*;
public class Premier
{
public void Prem()
{ boolean bool=true;
int nb=0;
int j=1;
BufferedReader bf=null;
System.out.println (" entrez le nombre voulu ");
bf = new BufferedReader ( new InputStreamReader (System.in));
try
{
nb = Integer.parseInt (bf.readLine());
}
catch ( NumberFormatException e)
{
e.printStackTrace();
}
catch (IOException e )
{
e.printStackTrace();
}
while (j<=nb)
{for( int i=2;i<j;i++)
{
if ( j % i!=0 ) { bool=true;j++;}
else {bool=false;break;}
}
if (bool ==true) System.out.println (j );
j++;
}
}
}
pourquoi faire un j++ à cet endroit ?
Bloon