Bonjour,

Je suis débutant en programmation et je dois réaliser un petit programme Java, mais je n'obtiens aucun résultat...pourtant, j'y ai passé des heures

Pourriez-vous me remettre sur la voie?

Merci beaucoup,

Sébastien


Voici l'énoncé du problème:

Un nombre premier est un nombre entier positif qui est divisible uniquement par lui-même et par un.

a. Spécifiez la pré- et postcondition une méthode permettant de calculer le nombre de nombres premiers entre l'entier min et l'entier max.

b. Ecrivez le corps de cette méthode sans utiliser de boucle for.
Ma réponse:


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
60
61
62
63
64
65
66
67
68
69
70
71
72
 /**
 * Classe renvoyant le nombre de nombres premiers entre les entiers naturels x et y.
 * 
 * @author  Sébastien 
 * @version 16/10/2006
 */
public class Premier
{
 
    //Méthode
 
 
    /** 
     * @param  min et max deux int positifs
     * @return     renvoie le nombre de nombres entiers entre min et max
     */
 
    public int premier()
 
    {
        int i = 5;  //correspond à min
        int y = 27; //correspond à max
 
        double entier = 0.0;
        int comptepremier = 0;
 
        int denum = 0;
        boolean cond = true;
        int reste = 0;
 
 
 
        while(i<y){
 
            denum = i-1;
 
            while( (denum>1) && (  cond = true )) {
 
                reste = i % denum;
 
 
                if ( (i % denum) != 0) {               
 
                   cond = true;
 
 
                   }
                   else{
                       cond = false;
 
                   }
 
                   denum = denum - 1;
 
               }
               //Fin de la boucle while interne
 
               if(cond = true){
 
                   comptepremier++;
 
               }
 
               i+=1;
 
           }//Fin de la boucle while externe
 
           return comptepremier;
 
    }//Fin de la méthode premier
 
}//Fin de la classe Premier

Et la classe test:

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
 /**
 * Classe testant Premier
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Test
{  
 
    public static void main(String args[]){
 
        Premier obj = new Premier();
 
       System.out.println(obj.premier());
    }
}