Hi everyone :D,
Je me permets de vous adresser ce message afin de trouver de l'aide pour résoudre mon problème.
Je suis actuellement en école d'ingénieur et il me faut réaliser un projet de prog' en JAVA. Nous avons décidé de créer un quizz et nous avons réparti les tâches. La mienne est de créer un "programme" de manière à ce qu'il y ait une interface avec les questions et le choix multiple. Jusqu'ici tout va bien.
Mon problème est le suivant:
J'ai donc créé ma classe avec les questions et les réponses liées aux autres classes. (ci-joint les photos du programme)
Il faut que je réussisse à "enlever " les questions déjà sorties. C'est pour cela que je sollicite votre aide. J'avais pour idée de créer une liste et une boucle dans laquelle il est demandée " Une question ( repérée par un numéro) est choisit au hasard, tant que la question apparaît dans la liste alors je choisis une autre question, sinon je la prends !" et il faudrait ajouter aussi le "stockage" de ces questions dans la liste.
Je me tourne donc vers vous afin de trouver l'aide nécessaire.
Cordialement,
Crazy-Frog_67
PS: Je suppose que ce post est sûrement mal placé, je m'en excuse d'avance
Voici le programme :
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 package quiz; public class question_change<numbers>{ static String ri_question = null; static String op1 = null; static String op2 = null; static String op3 = null; static String op4 = null; static int solution = 0 ; static Quiz_Fenster quiz; static Questions question_classe; static String act_question; numbers p; public question_change(){ quiz = new Quiz_Fenster(); newQuestion(); } public static void newQuestion(){ question_classe = new Questions(); act_question = Questions.question; parser(); otherText(); } public static void otherText(){ quiz.ChangeTextLabel(ri_question); quiz.solution = solution; quiz.ChangeTextButton(1,op1); quiz.ChangeTextButton(2,op2); quiz.ChangeTextButton(3,op3); quiz.ChangeTextButton(4,op4); } public static void parser(){ String[] frage = act_question.split("\\$"); for (int x=0; x<frage.length; x++){ switch(x) { case 0: ri_question = frage[x]; break; case 1: op1 = frage[x]; break; case 2: op2 = frage[x]; break; case 3: op3 = frage[x]; break; case 4: op4 = frage[x]; break; case 5: solution = Integer.parseInt(frage[x]); break; } } } }
Puis la seconde classe :
et le dernier :
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 package quiz; public class Questions { int hasard; String questions[] = new String[19]; static String question; public Questions(){ questions[0] = "To what writer do we owe the character of Boule-de-Suif? ?$Jean-Paul Sartre$Guy de Maupassant$Nicolas Sarkozy$I don't know$2"; questions[1] = "What regional council is chaired by Ségolène Royal since 2004?$Alsace$Poitou-Charentes$Picardie$No one$2"; questions[2] = "What pope succeeded Jean-Paul II??$Benoit XVI$François First$Benoit XIV$Jean-Paul First$4"; questions[3] = "Of what country Tirana is it the capital?$Germany$France$Albania$Serbia$3"; questions[4] = "In which city takes place every year the interCeltic Festival?$Paris$Glasgow$Brest$Lorient$4"; questions[5] = "How were nicknamed the recruits of strength in the Wehrmacht ?$Les Affreux$Les Taulards$French People$Les Malgré-nous$4"; questions[6] = "Who is the father of the girl of Vincent Cassel $Vincent Cassel$Jean-Luc Reichmann$Julien Marie$Elie Yaffa$1"; questions[7] = "In geometry, how many sides possess a diamond? $1side$2sides$3sides$4sides$4"; questions[8] = "Under which French title as it is known Alfred Hitchcock's movie 'Vertigo' ? $Sueur Froide$Les Dents de la mer$Alerte à Malibu$ Les sombres nuits de Paris $1"; } public int hasard(int min,int max){ hasard = (int) (max * Math.random()); return hasard; } }
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
150
151
152
153
154
155
156
157
158
159
160 Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); private JLabel question2; private JButton ant[] = new JButton[4]; Questions question; JFrame w1; question_change<?> change; Object[] options = { "OK"}; int solution; int right; public Quiz_Fenster(){ w1 = new JFrame(); w1.setSize(600,300); w1.setLocation((int)(dim.getWidth()-400)/2,(int)(dim.getHeight()-300)/2); w1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); w1.setVisible(true); w1.setLayout(null); ant[0] = new JButton(" - "); ant[0].setBounds(52,90,200,40); ant[0].addActionListener(this); w1.add(ant[0]); ant[1] = new JButton(" - "); ant[1].setBounds(52,160,200,40); ant[1].addActionListener(this); w1.add(ant[1]); ant[2] = new JButton(" - "); ant[2].setBounds(250,90,200,40); ant[2].addActionListener(this); w1.add(ant[2]); ant[3] = new JButton(" - "); ant[3].setBounds(250,160,200,40); ant[3].addActionListener(this); w1.add(ant[3]); question2 = new JLabel("Here, There is the question"); question2.setBounds(100,15,2500,40); w1.add(question2); } public static void main(String[] args) { new question_change<Object>(); } public void actionPerformed(ActionEvent e){ if(e.getSource()== ant[0]){ if (solution == 1){ Message("You're right","Let's go on..."); question_change.newQuestion(); }else{ Message("You're wrong","Fail..."); } } if(e.getSource()== ant[1]){ if (solution == 2){ Message("You're right","Let's go on..."); question_change.newQuestion(); }else{ Message("You're wrong","Fail..."); } } if(e.getSource() == ant[2]){ if (solution == 3){ Message("You're right"," Let's go on..."); question_change.newQuestion(); }else{ Message("You're wrong","Fail..."); } } if(e.getSource() == ant[3]){ if (solution == 4){ Message("You're right","Let's go on..."); question_change.newQuestion(); }else{ Message("You're wrong","Fail..."); } } } public void ChangeTextButton(int button,String text){ ant[button-1].setText(text); } public void ChangeTextLabel(String text){ question2.setText(text); } public void Message(String Aussage,String info){ JOptionPane.showOptionDialog(null, Aussage, info, JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, options[0]); } }
Partager