Java: Problème sur les nombres premiers
Bonjour,
Je n'arrive pas à comprendre pourquoi mon programme ne fonctionne pas.
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Veuillez introduire un nombre");
int nombre = scanner.nextInt();
int i = 2;
while((i<nombre-1) || (nombre%i!=0)){
i++;
}
if(nombre%i==0){
System.out.println("Pas premier");
}else{
System.out.println("Nombre premier !");
}
// TODO Auto-generated method stub
}
il me dis "nombre pas premier pourtant j'ai l'impression de n'avoir fait aucune erreur.
Je vous remercie
Je n'arrive pas à comprendre pourquoi mon programme ne fonctionne pas.
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Veuillez introduire un nombre");
int nombre = scanner.nextInt();
int i = 2;
while((i<nombre-1) || (nombre%i!=0)){
i++;
}
if(nombre%i==0){
System.out.println("Pas premier");
}else{
System.out.println("Nombre premier !");
}
// TODO Auto-generated method stub
}
il me dis "nombre pas premier pourtant j'ai l'impression de n'avoir fait aucune erreur.
Je vous remercie
3 réponses
-
ModérateurC'est une question de logique. Tu devrais avoir un && à la place du || dans le while.
Evidemment ce n'est pas le seul problème. Je ne veux pas me plagier moi même, alors je te conseilles d'aller me lire ici
--
La confiance n'exclut pas le contrôle -
non ça n'affiche pas erreur mais ça me donne pas la réponse que je veux.
-
Qu'est ce que le compilateur Affiche comme erreur?