J'ai donc écrit ce petit programme qui est censé vérifier si un nombre est un nombre premier et si c'est le cas, il faut l'ajouter à un arraylist. Le problème est qu'il ajoute juste le nombre 3 et s'arrête ensuite. Est-ce que quelqu'un pourrait m'expliquer pourquoi il se comporte comme ça?Mon programme devrait calculer les nombres premiers, mais s'arrête après le premier nombre
import java.util.ArrayList;
public class main{
public static void main(String args[]){
ArrayList Primzahlen=new ArrayList();
int current=1;
boolean prim=true;
for(int a=0;a<100;a++){
for(int b=2;b<current;b++){
if(current%b==0){
prim=false;
}
if(b==current-1){
if(prim==true){
Primzahlen.add(current);
}
}
}
current++;
}
System.out.println(Primzahlen);
}
}
Vous devriez essayer pas à pas dans votre code dans un débogueur. – hatchet
Vous définissez 'prim = false' si' current% b == 0' mais vous ne le définissez jamais à true. –
Merci. Je pense que je n'aurais pas manqué une erreur aussi évidente. – LuisIsLuis