Voici mon main et ma classe Crate, les erreurs que j'ai sont principalment sur la classe Carte notamment à chaque fois que je vérifie si la case est nulle, aparemment c'est pas comme ça que ça doit marcher.Une autre erreur aussi c'est que le compimlateur n'a pas l'air d'aimer mes méthodes get alors que pourtant elles sont définies en public dans le main je devrai pouvoir y avoir accès.
Code:
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 import java.util.*; import java.io.*; public class Main { private static int nombre_hopitaux; private static int nombre_medecins; private static int nombre_non_medecins_sains; private static int nombre_non_medecins_malades; private static int nombre_non_medecins_cas_difficiles; private static String str; private static char touche_appuyee; private static int largeur_tableau; private static int hauteur_tableau; public static int getNombre_hopitaux() { return nombre_hopitaux; } public static int getNombre_medecins() { return nombre_medecins; } public static int getNombre_non_medecins_sains() { return nombre_non_medecins_sains; } public static int getNombre_non_medecins_malades() { return nombre_non_medecins_malades; } public static int getNombre_non_medecins_cas_difficiles() { return nombre_non_medecins_cas_difficiles; } public int getWidth() { return largeur_tableau; } public int getHeight() { return hauteur_tableau; } public void setWidth(int largeur) { this.largeur_tableau=largeur; } public void setHeigth(int hauteur) { this.hauteur_tableau=hauteur; } public static void main (String []args) { Scanner sc= new Scanner(System.in); System.out.println("Veuillez saisir le nombre initial d'hôpitaux"); nombre_hopitaux=sc.nextInt(); System.out.println("Veuillez saisir le nombre initial de médecins"); nombre_medecins=sc.nextInt(); System.out.println("Veuillez saisir le nombre initial de non_médecins_sains"); nombre_non_medecins_sains=sc.nextInt(); System.out.println("Veuillez saisir le nombre initial de non_médecins_malades"); nombre_non_medecins_malades=sc.nextInt(); System.out.println("Veuillez saisir le nombre initial de non_médecins_difficiles"); nombre_non_medecins_cas_difficiles=sc.nextInt(); System.out.println("Veuillez saisir la largeur du tableau"); largeur_tableau=sc.nextInt(); System.out.println("Veuillez saisir la hauteur du tableau"); hauteur_tableau=sc.nextInt(); Carte carte = new Carte(largeur_tableau,hauteur_tableau); /*str =sc.nextLine(); touche_appuyee=str.charAt(0); if((touche_appuyee='F') || (getNombre_non_medecins_malades()+getNombre_non_medecins_cas_difficiles()==0) || (getNombre_non_medecins_malades()+getNombre_non_medecins_malades_cas_difficiles()+getNombre_non_medecins()+getNombre_hopital()==0)) exit(1); /* A chaque fois que j'appuie sur une touche, un tour doit être effectué aussi(c'est à dire que * les éléments se déplacent sur une des 8 cases possibles du tableau et ils agissent ou non selon * si c'est possible(contaminer,soigner...) */ } }
Je donne un exemple : Voici ma classe HopitalCode:
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 import java.util.*; import java.io.*; public class Carte { private Element[][] elements; private int x_aleatoire; private int y_aleatoire; private int i=0; private int largeur_tableau; private int hauteur_tableau; public Carte(int largeur_tableau,int hauteur_tableau) { this.largeur_tableau=getWidth(); this.hauteur_tableau=getHeigth(); Random generator = new Random(); elements=new Element[largeur_tableau][hauteur_tableau]; while(i<getNombre_hopitaux()) { x_aleatoire=generator.nextInt(20)+1; y_aleatoire=generator.nextInt(20)+1; if(elements[x_aleatoire][y_aleatoire]=null) { elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,'H'); } else if(elements[x_aleatoire][y_aleatoire]!=null) { x_aleatoire=generator.nextInt(20)+1; y_aleatoire=generator.nextInt(20)+1; elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,'H'); } }i=0; while(i<getNombre_medecins()) { x_aleatoire=generator.nextInt(20)+1; y_aleatoire=generator.nextInt(20)+1; if(elements[x_aleatoire][y_aleatoire]=null) { if(getStock()==0) elements[x_aleatoire][y_aleatoire]=new Medecin(x_aleatoire,y_aleatoire,'d',getStock()); else elements[x_aleatoire][y_aleatoire]=new Medecin(x_aleatoire,y_aleatoire,'D',getStock()); } else if(elements[x_aleatoire][y_aleatoire]!=null) { x_aleatoire=generator.nextInt(20)+1; y_aleatoire=generator.nextInt(20)+1; if(getStock()==0) elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,'d',getStock()); else elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,'D',getStock()); } }i=0; while(i<getNombre_non_medecins_sains()) { x_aleatoire=generator.nextInt(20)+1; y_aleatoire=generator.nextInt(20)+1; if(elements[x_aleatoire][y_aleatoire]=null) { elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,'C',getEtat_maladie); } else if(elements[x_aleatoire][y_aleatoire]!=null) { x_aleatoire=generator.nextInt(20)+1; y_aleatoire=generator.nextInt(20)+1; elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,'C'); } }i=0; while(i<getNombre_non_medecins_malades()) { x_aleatoire=generator.nextInt(20)+1; y_aleatoire=generator.nextInt(20)+1; if(elements[x_aleatoire][y_aleatoire]=null) { elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,'m'); } else if(elements[x_aleatoire][y_aleatoire]!=null) { x_aleatoire=generator.nextInt(20)+1; y_aleatoire=generator.nextInt(20)+1; elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,'m'); } }i=0; while(i<getNombre_non_medecins_cas_difficiles()) { x_aleatoire=generator.nextInt(20)+1; y_aleatoire=generator.nextInt(20)+1; if(elements[x_aleatoire][y_aleatoire]=null) { elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,'M'); } else if(elements[x_aleatoire][y_aleatoire]!=null) { x_aleatoire=generator.nextInt(20)+1; y_aleatoire=generator.nextInt(20)+1; elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,'M'); } } } }
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public class Hopital extends Element { private char representation; public Hopital (int x, int y,char representation) { super.Element(x,y); this.representation='H'; } public void getRepresentation() { return representation; } public void setRepresentation(char representation) { this.representation=representation; } //Méthode approvisionner_stock_medecin() et soigner ! }
Dans la classe Carte je veux créer l'objet hopital donc je fais :
Code:elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,representation) OU elements[x_aleatoire][y_aleatoire]=new Hopital(x_aleatoire,y_aleatoire,getRepresentation)