Bonjour tout le monde,

Je suis en train de faire ce tp j'ai recu cette erreur en compliant ces codes, est-ce que quelqu'un peut venir en aide.

Voici le sujet :
Problématique

Vous êtes mandatés par la directrice de l’école Saint-Pruneau à concevoir un programme java nommé tp4.java. Ce programme permettra à un utilisateur de charger une partie de Sudoku à partir d’un fichier, jouer la partie et la sauvegarder sur le disque.
•Requis

Votre programme devra être constitué des classes suivantes.
•Case:
◦Attributs: ligne, colonne et valeur.
◦Fonctions: Constructeurs et accesseurs (get et set).
•Grille:
◦Attributs : Un tableau à double dimension d’entiers représentant les éléments de la grille.
◦Le constructeur Grille(ArrayList al), qui permet d’initialiser l’objet grille à partir d’un arrayList.
◦La fonction grilleToArrayList(ArrayList al), qui permet de sauvegarder la grille dans un ArrayList.
◦La fonction estSurLigne(int _valeur, int _ligne) qui vérifie si la ligne _ligne comporte la valeur _valeur.
◦La fonction estSurColonne(int _valeur, int _colonne) qui vérifie si la colonne _colonne comporte la valeur _valeur.
◦La fonction estDansLeBloc (int _valeur, int _ligne, int _colonne) qui vérifie si la valeur _valeur est incluse dans le bloc contenant l’intersection de la ligne _ligne et de la colonne _colonne.
◦La fonction imprimerGrille() qui permet d’afficher la grille selon l’affichage montré ci-dessous.
•Test:
◦Fonction d’affichage du menu qui offre à l’utilisateur les choix suivants:
◾Charger Jeu: cette fonction permet de charger la grille de sudoku du fichier texte, le fichier texte comporte une suite de triplet xyz séparé par des espaces:
◾x: numéro de la ligne.
◾y: numéro de la colonne.
◾z: valeur
◾SauvegarderJeu: cette fonction permet de sauvegarder la grille dans le fichier texte, les cases vides ne sont pas sauvegardées.
◾JouerSudoku : cette fonction permet de jouer au Sudoku, l’utilisateur devra fournir la ligne, la colonne et la valeur à placer; le programme devra vérifier avant tout que la valeur n’existe ni dans la ligne, ni dans la colonne, ni dans le bloc avant de l’insérer dans la grille. Si la valeur est déjà existante, un message d’erreur s’affiche à l’utilisateur. Le programme devra à l’utilisateur après chaque placement s’il veut jouer encore.
◦Fonction permettant la lecture du fichier et l’initialisation de la grille.
◦Fonction de sauvegarde de la grille dans un fichier texte.
◦Autres fonctions que vous jugez pertinentes.




*************************************Sudoku***********************************
Bienvenue dans le programme de Sudoku, ce programme ...

Veuillez choisir un des choix suivants:
1. Charger jeu.
2. Jouer Sudoku.
3. Quitter.
Votre choix: 1
Veuillez fournir le nom du fichier: c:/sudoku/partie12.txt
Erreur, fichier inexistant!
Veuillez fournir le nom du fichier: c:/sudoku/partie1.txt
Fichier chargé!

-------------------------------------------------------------------------------
-----------------------
| 4 3 | 7 | 9 8 |
| 5 | 3 | |
| 1 | | 3 |
-----------------------
| 6 | 2 7 | |
| 4 7 | | 1 3 |
| | 5 4 | 9 |
-----------------------
| 2 | | 3 |
| | 5 | 4 |
| 5 4 | 1 | 2 6 |
-----------------------
Veuillez choisir un des choix suivants:
1. Sauvegarder jeu.
2. Jouer Sudoku.
3. Quitter.
-------------------------------------------------------------------------------
Votre choix: 2
Veuillez choisir une ligne: 2
Veuillez choisir une colonne: 6
Veuillez choisir une valeur:7
Erreur, la grille comporte déjà la valeur 7 dans le bloc représentant la case (2,6).

-------------------------------------------------------------------------------

| 4 3 | 7 | 9 8 |
| 5 | 3 | |
| 1 | | 3 |
-----------------------
| 6 | 2 7 | |
| 4 7 | | 1 3 |
| | 5 4 | 9 |
-----------------------
| 2 | | 3 |
| | 5 | 4 |
| 5 4 | 1 | 2 6 |
-----------------------
Veuillez choisir un des choix suivants:
1. Sauvegarder jeu.
2. Jouer Sudoku.
3. Quitter.
-------------------------------------------------------------------------------
Votre choix: 2
Veuillez choisir une ligne: 2
Veuillez choisir une colonne: 6
Veuillez choisir une valeur:4
Bravo! La valeur 4 a été insérée dans la case (2,6).

-------------------------------------------------------------------------------
-----------------------
| 4 3 | 7 | 9 8 |
| 5 | 3 4 | |
| 1 | | 3 |
-----------------------
| 6 | 2 7 | |
| 4 7 | | 1 3 |
| | 5 4 | 9 |
-----------------------
| 2 | | 3 |
| | 5 | 4 |
| 5 4 | 1 | 2 6 |
-----------------------
Veuillez choisir un des choix suivants:
1. Sauvegarder jeu.
2. Jouer Sudoku.
3. Quitter.
-------------------------------------------------------------------------------
Votre choix: 1
Veuillez fournir le nom du fichier: c:/sudoku/partie2.txt
Fichier sauvegardé!

-------------------------------------------------------------------------------
-----------------------
| 4 3 | 7 | 9 8 |
| 5 | 3 4 | |
| 1 | | 3 |
-----------------------
| 6 | 2 7 | |
| 4 7 | | 1 3 |
| | 5 4 | 9 |
-----------------------
| 2 | | 3 |
| | 5 | 4 |
| 5 4 | 1 | 2 6 |
-----------------------
Veuillez choisir un des choix suivants:
1. Sauvegarder jeu.
2. Jouer Sudoku.
3. Quitter.
-------------------------------------------------------------------------------
Votre choix: 3
Merci d’avoir joué au jeu sudoku.


Contenu du fichier partie1.txt
014 023 037 069 088 125 143 211 263 306 342 357 404 427 461 483 535 544 589 622 673 745 764 805 824 851 862 876

Contenu du fichier partie2.txt
014 023 037 069 088 125 143 211 263 306 342 357 404 427 461 483 535 544 589 622 673 745 764 805 824 851 862 876 154


Merci d'avance. Et voice le code ci-dessous.


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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
import java.util.*;
 
 
public class Grille {
 
	//public static void main(String[] args) {
 
 
		 	int[][] tab = new int[][] {
		 			          { 0, 4, 3,  7, 0, 0,  9, 0, 8 },
		                      { 0, 0, 5,  0, 3, 0,  0, 0, 0 }, 
		                      { 0, 1, 0,  0, 0, 0,  3, 0, 0 },
 
		                      { 6, 0, 0,  0, 2, 7,  2, 0, 3 }, 
		                      { 4, 0, 7,  0, 0, 0,  1, 0, 3 },
		                      { 0, 0, 0,  5, 4, 0,  0, 0, 9 },
 
		                      { 0, 0, 2,  0, 0, 0,  0, 3, 0 },
		                      { 0, 0, 0,  0, 5, 0,  4, 0, 0 }, 
		                      { 5, 0, 4,  0, 0, 1,  2, 6, 0 } };
 
	//}
 
		 	public Grille(ArrayList<Integer> al){
 
				int nbcol = 9;
				int nblig = 9;
 
 
				 //ArrayList<Integer> liste ;
 
				 ArrayList<Integer> liste = new ArrayList<Integer> ();
 
				if (liste.size() != nbcol * nblig)  {
					System.out
							.println("erreur : pas assez ou trop de données dans la liste");
				}
 
				int ligne = 0;
				int colonne = 0;
 
 
				for (Integer e : al) {
 
 
				tab [ligne][colonne] = e;
					colonne++;
					if (colonne >= nbcol) {
						colonne = 0;
						ligne++;
					}
 
				}
			}
		 	public void GrilleToArray(ArrayList<Integer> al) {		 		  
 
				  al = new ArrayList<Integer> (ArrayList(tab));
 
				 for (int nblig = 0; nblig <tab.length; nblig++) {
					 for(int nbcol = 0; nbcol < tab.length; nbcol++) {
 
						 al.add(tab [nblig] [nbcol]);
 
					 }
				 } 
 
		 	}
 
 
		private Collection<Integer> ArrayList(int[][] tab2) {
				// TODO Auto-generated method stub
				return null;
			}
		public boolean estSurLaLigne(int _Valeur, int _ligne) {
 
			 for (int i = 0; i < 9; i++) {
				 if (tab [_ligne][i] == _Valeur) { 
					 System.out.println("cette valeur est deja presente sur cette ligne");
 
					 return true;
				 }
 
 
			 }
			return false;
 
		}
 
			 public boolean estSurLaColonne(int _Valeur, int _colonne) {
 
				 for (int j = 0; j < 9; j++) {
					 if (tab [_colonne][j] == _Valeur) { 
						 System.out.println("cette valeur est deja presente sur cette colonne");
 
						 return true;
					 }
				 }
					 return false;
 
			 }
 
				 public boolean estDansLeBloc(int _Valeur, int _ligne, int _colonne) {
                  return tab[_ligne][_colonne] == _Valeur;
 
                  }
 
 
		    private static final String tiret = "------------------------------------\n";
			public void imprimeGrille () {
 
				StringBuilder sb = new StringBuilder();
 
				sb.append(tiret);
				for (int i = 0; i < tab.length; i++) {
					if (i == 3 || i ==6) {
						sb.append(tiret);
 
					}
 
						sb.append("|");
 
 
					for (int j = 0; j < tab[i].length; j += 3) {
						for (int kj = j; kj < j + 3; kj += 1) {
 
							if (tab[i] [kj] != 0)
 
								sb.append(tab[i] [kj]);
							else
								sb.append(" ");
							sb.append(" ");
						}
						sb.append("| ");
					}
					sb.append("\n");
 
				}
 
				System.out.println(sb);
 
              sb.append(tiret) ;
			}  
 
		public static void main (int[ ][] args){
 
 
		}
 
}
Et voice le message d'erreur
Error: Main method not found in class Grille, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Appli
Quand j'essaie de mttre le public static void main cela genere beaucoups plus d'erreur.

Merci a vous.