Voilà je dois faire un projet en java permettant de faire le diagramme de Gantt à partir des tâches que l'on rentre (pour la gestion de projets), on doit faire l'interface en mode texte seulement, mais il y a plusieurs problème dans le code (pas à la compilation mais dans le déroulement), je n'ai pas commenté donc je vais essayer d'expliquer vite fait : J'essaie de faire des tableaux où l'on peut rentrer les données (nom de la tâche, durée, code, prédécesseurs) et j'ai un problème déjà au niveau des prédécesseurs car je voulais faire un tableau de tableaux avec mon ArrayList en stockant le tableau temporaire contenant les prédécessurs à chaque tour de boucle mais bon ça ne marche visiblement pas :-W (j'avais juste rajouté le predecesseurs.get(i) pour voir le résultat), J'ai également un pb au niveau de la gestion des erreurs avec des ArrayOutOfBounds et NegativeSize
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 import java.io.*; import java.util.ArrayList; public class Projet { public static void main(String [] ar) { int x=0; Reader reader1 = new InputStreamReader(System.in); BufferedReader keyboard1 = new BufferedReader(reader1); System.out.println("Combien de taches souhaitez vous accomplir?"); try {x = Integer.parseInt(keyboard1.readLine());} catch(Exception err1) {System.out.println("Ceci n'est pas un entier.");} String[] taches = new String[x]; String[] codes = new String[x]; int[] durees = new int[x]; int[] nbpredecesseurs = new int[x]; ArrayList predecesseurs = new ArrayList(); for(int i=0;i<x;i++) { Reader reader2 = new InputStreamReader(System.in); BufferedReader keyboard2 = new BufferedReader(reader2); Reader reader3 = new InputStreamReader(System.in); BufferedReader keyboard3 = new BufferedReader(reader3); Reader reader4 = new InputStreamReader(System.in); BufferedReader keyboard4 = new BufferedReader(reader4); Reader reader5 = new InputStreamReader(System.in); BufferedReader keyboard5 = new BufferedReader(reader5); Reader reader6 = new InputStreamReader(System.in); BufferedReader keyboard6 = new BufferedReader(reader6); int j=i+1; System.out.println("Entrez la tache numero "+j+" :"); try {taches[i] = keyboard2.readLine();} catch(IOException err2) {System.out.println("Ceci n'est pas une chaine de caracteres."); taches[i]="error"; } System.out.println("Entrez son code :"); try {codes[i] = keyboard3.readLine();} catch(IOException err3) {System.out.println("Ceci n'est pas une chaine de caracteres."); codes[i]="error"; } System.out.println("Quelle est sa duree?"); try {durees[i] = Integer.parseInt(keyboard4.readLine());} catch(Exception err4) {System.out.println("Ceci n'est pas un entier."); durees[i]=-1; } System.out.println("Combien a-t-il de predecesseurs?"); try {nbpredecesseurs[i] = Integer.parseInt(keyboard5.readLine());} catch(Exception err5) {System.out.println("Ceci n'est pas un entier."); nbpredecesseurs[i]=-1; } if (nbpredecesseurs != null) {String[] predecesseurstemp = new String[nbpredecesseurs[i]]; System.out.println("Quels sont ces predecesseurs?"); for(int z=0;z<nbpredecesseurs.length;z++) { try {predecesseurstemp[z]=keyboard6.readLine();} catch(Exception err6) {System.out.println("Ceci n'est pas une chaine de caracteres"); predecesseurstemp[z]="error"; } } predecesseurs.add(i,predecesseurstemp); } System.out.println("La tache numero "+j+" est : "+taches[i]+ ", son code est : "+codes[i]+", sa duree est : "+durees[i]+"."+predecesseurs.get(i)); } } }
Partager