Je ne comprends pas mon erreur!

Résolu
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010 - 31 août 2008 à 13:58
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010 - 4 sept. 2008 à 00:56
bonjour,
je vous donne mon code qui sert à verifier si un nombre est premier(si le nombre ne possede aucun diviseur à part lui même bien sûr et le chiffre 1), je ne comprends pas mon erreur, le code m'affiche à chaque fois que le nombre est premier!!!
 le code:
import

javax.swing.JOptionPane;

public

class Premier {

public
static
void main(String[] args){

while(
true){ String n= JOptionPane. showInputDialog (

"saisir un nombre:");

int nombre_saisi =Integer.parseInt(n);

if (is_premier(nombre_saisi))System.

out.println(
"le nombre "+ nombre_saisi +
" est premier");

elseSystem.

out.println(
"le nombre " +nombre_saisi +
" n'est pas premier");

}

}

public
static
boolean is_premier(
int nombre){

for(
int i= 2;i<=9;i++)

if (nombre%i! =0)

return
true;

return
false;}

 

}

merci pour votre aide, vous faites du bon travail et j'espère devenir un pro moi aussi pour pouvoir aider les autres.

2 réponses

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
31 août 2008 à 20:20
Salut et bienvenue parmi nous

ton algorithme est faux : tu dois retourner faux au premier nombre qui vérifie [nombre % i = = 0], c'est à dire que i divise nombre , à ta place voilà ce que je ferais :

if (nombre == 1)
    return false;

for (int i=2; i<=nombre/2; i++)
    if (nombre % i == 0)
        return false;

    return true;

tu peux même remplacer nombre/2 par racine(nombre)+1 (j'ai pas la démonstration)..

Bonne continuation !


_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
3
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010
4 sept. 2008 à 00:56
merci beaucoup chatbour pour ta reponse!!, c gentil.
0
Rejoignez-nous