Bonjour, j'ai besoin d'un petit conseil.
En fait quand j'execute ce code :
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
73
74
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication16;
 
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
 
/**
 *
 * @author NiKo
 */
public class TriSemaine {
 
    public static void main(String[] args) {
        GregorianCalendar d = new GregorianCalendar();
        d.setFirstDayOfWeek(4);
 
        d.set(Calendar.DAY_OF_MONTH, 1);
 
        int anneeMax = 2010;
 
        for (int k = d.get(Calendar.YEAR); k <= anneeMax; k++) {
            System.out.println("\n");
            System.out.println("####### CALENDRIER " + k + " ########");
 
            d.set(Calendar.YEAR, k);
 
            int jourDeWeekEnd = d.get(Calendar.DAY_OF_WEEK);
 
            for (int j = d.get(Calendar.MONTH); j <= Calendar.DECEMBER; j++) {
                int mois = j;
                d.set(Calendar.MONTH, j);
 
                DateFormat month = new SimpleDateFormat("MMMMMMMMM");
                System.out.println("\t\n");
                System.out.println("Année : " + d.get(Calendar.YEAR));
                System.out.println("Mois de : " + month.format(d.getTime()));
                System.out.println("Lun Mar Mer Jeu Ven Sam Dim");
 
                for (int i = Calendar.MONDAY; i < jourDeWeekEnd; i++) {
                    System.out.print("    ");
                }
 
                while (d.get(Calendar.MONTH) == mois) {
                    int jour = d.get(Calendar.DAY_OF_MONTH);
 
                    if (jour < 10) {
                        System.out.print(" ");
                    }
 
                    System.out.print(jour);
                    System.out.print("  ");
 
                    //chaque samedi il y a un retour � la ligne
                    if (jourDeWeekEnd == Calendar.SUNDAY) {
                        System.out.println("Semaine : " + d.get(d.WEEK_OF_YEAR));
                        System.out.println();
                    }
 
                    //permet de changer de jour tous les jours
                    d.add(Calendar.DAY_OF_MONTH, 1);
 
                    //remet � jour les jours de semaine � chaque changement de jour
                    jourDeWeekEnd = d.get(Calendar.DAY_OF_WEEK);
                }
            }
            d.add(Calendar.YEAR, 1);
        }
    }
}
J'obtiens :
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
Année : 2009
Mois de : décembre
Lun Mar Mer Jeu Ven Sam Dim
     1   2   3   4   5   6  Semaine : 49
 
 7   8   9  10  11  12  13  Semaine : 50
 
14  15  16  17  18  19  20  Semaine : 51
 
21  22  23  24  25  26  27  Semaine : 52
 
28  29  30  31  
 
####### CALENDRIER 2010 ########
 
 
Année : 2010
Mois de : janvier
Lun Mar Mer Jeu Ven Sam Dim
                 1   2   3  Semaine : 1
 
 4   5   6   7   8   9  10  Semaine : 2
 
11  12  13  14  15  16  17  Semaine : 3
 
18  19  20  21  22  23  24  Semaine : 4
 
25  26  27  28  29  30  31  Semaine : 5
Alors que en Janvier 2010 la semaine 1 Commence au 4 Janvier...

Comment puis je remédier à ça?
Cordialement.