Un soucie avec un programme en java

Résolu
ssalatin Messages postés 81 Statut Membre -  
ssalatin Messages postés 81 Statut Membre -
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. leen.net Messages postés 247 Statut Membre 13
     
    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. ssalatin Messages postés 81 Statut Membre 7
       
      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. leen.net Messages postés 247 Statut Membre 13
       
      ah tu dois commencer par i=1
      for (int i=1;i<....)
      0
    3. ssalatin Messages postés 81 Statut Membre 7
       
      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. KX Messages postés 19031 Statut Modérateur 3 020
       
      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. ssalatin Messages postés 81 Statut Membre 7
       
      programme exécuté mercii :)
      0