Bonjour,

Je poste à nouveau sur ce fourm parce que j'ai un problème concernant le while et ou placer ses accolades. Le programme suivant fonctionne si j'entre une seule donnée, mais j'aimerais exécuter ce bout de code jusqu'à ce que l'utilisateur entre -1 (J'ai réussi à le faire, donc ça ne figure pas dans le code suivant) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
       if (nombreEntre > 0 && nombreEntre <= 1000000)
 
        {
            compteurNombres++;
            additionNombres = nombreEntre;
        }
 
        if (nombreEntre < 2) // Si le nombre entré est plus petit que 2
        {
            premier = false;
        }
 
        while (compteurNombrePremier * compteurNombrePremier <= nombreEntre)
        {
 
            if (nombreEntre % compteurNombrePremier == 0)
            /* Si le résultat de l'un des modulos des nombres testés = 0,
            alors il est composé */
            {
                premier = false;
            }
            compteurNombrePremier = compteurNombrePremier + 1;
        }
 
        if (premier) // Si le nombre est premier
        {
            System.out.println(nombreEntre + " est un nombre premier");
        }
        else // Si le nombre n'est pas premier
        {
            System.out.println(nombreEntre + " n'est pas un nombre premier");
        }
 
        while (nombreEntre >= racineCarree * 2 + 1)
        {
            nombreEntre -= (racineCarree * 2 + 1);
            racineCarree++;
        }
 
 
        if (racineCarree * racineCarree != nombreEntre)
        /* Si le carré de la racine n'égale pas le nombre entré,
        alors elle est approximative */
        {
            System.out.println("La racine entière approximative est"
                    + " " + racineCarree);
            racineApprox++;
            // Le nombre de racines approximatives trouvées augmente de 1
            compteurRacines++;
        }
        else
        {
            System.out.println("La racine entière exacte est " + racineCarree);
            /* Si le carré de la racine égale au nombre entré, alors elle est
            exacte */
            racineExacte++; /* Le nombre de racines exactes trouvées
            augmente de 1 */
            compteurRacines++; // Le nombre de racines trouvées augmente de 1
        }
Je ne sais vraiment pas où la placer. J'ai fait plusieurs essais, mais toujours le même résultat : Il reste bloqué dans une boucle infinie.

Merci de votre aide