Un soucie avec un programme en java

Résolu
Bonjour,

j'ai écrie un programme en java permettant de compter le nombre de diviseur d'un nombre entier que je donne, puis de les afficher !

voila ce que j'ai codé mais le résultat n'est pas ce que j'ai voulu faire :/
--------------------------------------------------------------------------------------------------------------
int diviseur=0, nb;
System.out.println("Entrer un nombre");
nb = lire.nextInt() ;
for (int i = 0; i < nb / 2; i++) {
if (nb % i == 0) {
System.out.println("le divisuer est" + diviseur++);

}
}
}
}

--
Roi sans Couronne

1 réponse

  1. D'apres ce que j'ai compris tu dois faire cela:
    for (int i = 0; i < nb / 2; i++){
    if (nb % i == 0) diviseur++;}
    System.out.println("le divisuer est" + diviseur);

    0
    1. c marche pas aussi il revoie cette erreur !
      Exception in thread "main" java.lang.ArithmeticException: / by zero
      at passage.main(passage.java:10)
      0
    2. ah tu dois commencer par i=1
      for (int i=1;i<....)
      0
    3. Sa marche mtn mais il me donne seulement un diviseur "2" et moi je veux qu'il revoie tout les diviseur de 8 par exemple !! une idée ?!
      0
    4. Modérateur
      C'est parce que la boucle de leen.net n'affiche pas les diviseurs de nb, mais le nombre de diviseurs qu'il y a entre 1 et nb/2-1. Pour nb=8, tu as donc bien 2 diviseurs entre 1 et 3 qui sont 1 et 2...

      Pour ce que tu veux faire ce serait plutôt comme ça :

      for (int i=1; i<nb; i++)
          if (nb%i==0)
              System.out.printf("%d est un diviseur de %d\n",i,nb);
      0
    5. programme exécuté mercii :)
      0