salut,
j'ai résolue le problème de la vérification du réponse et le score avec ce code
pour le 1 ére question ( à l'ouverture de la frame) :
public void buil (){
pan1.setLayout(new FlowLayout());
index.setFont(new Font("serif",Font.BOLD,20));
index.setForeground(Color.blue);
Q.setText(fiche.tab_ques[0]);
Q.setFont(new Font("Serif",Font.BOLD,20));
pan2.setLayout(new FlowLayout());
choix1.setText(fiche.tab_r1[0]);//premiere reponse
choix2.setText(fiche.tab_r2[0]);//deuxieme reponse
choix3.setText(fiche.tab_r3[0]);//troisieme reponse
}
le bouton Bsuivant(suivant) :pour les autres questions
le bouton Bconf(configuration) : pour le score (le fin de qcm)
public void actionPerformed (ActionEvent e){
JButton src=(JButton)e.getSource();
if(src== Bsuivant)
{//le nombre 3 est le nombre de questions à repondre
if (i<3)
{
//Q.setText(fiche.tab_ques[t.Al[i]]);
//choix1.setText(fiche.tab_r1[t.Al[i]]);
//choix2.setText(fiche.tab_r2[t.Al[i]]);
//choix3.setText(fiche.tab_r3[t.Al[i]]);
Q.setText(fiche.tab_ques[i]);
choix1.setText(fiche.tab_r1[i]);
choix2.setText(fiche.tab_r2[i]);
choix3.setText(fiche.tab_r3[i]);
verif();
choix1.setSelected(false);
choix2.setSelected(false);
choix3.setSelected(false);
i++;
} else if (i==3) {
verif();
choix1.setSelected(false);
choix2.setSelected(false);
choix3.setSelected(false);
}
}
if (src== Bconf)
{
System.out.println("terminé");
System.out.println("score : "+scor);
}
}
la méthode verif() :permet de vérification la réponse
[code=java]public void verif()
{
boolean cas1=(choix1.isSelected())&&(fiche.tab_ind_rep[i-1]==1);
boolean cas2=(choix2.isSelected())&&(fiche.tab_ind_rep[i-1]==2);
boolean cas3=(choix3.isSelected())&&(fiche.tab_ind_rep[i-1]==3);
if((cas1)||(cas2)||cas3)
{
scor=scor+1;
System.out.println("GOOD");
}
else{
System.out.println("WRONG");
scor=scor+0;
}
}
/code
mnt il me reste de travailler avec Math.round pour que les questions seront aléatoire
import java.io.*;
public class Indice2 {
//static int N1= Candidat.N;
static int N1= 4;
int N2= N1-1;
int[] Al=new int[4];
public Indice2() {
System.out.println(N1);
int[] T=new int[N1];
int p;
int K;
for(int i=0;i<N1;i++){
T[i]=i;
}
System.out.println();
for(int n=N2;n>=0;n--){
p=(int)Math.round(Math.random()*n);
Al[N2-n]=T[p];
if(p!=n){
K=T[p];
T[p]=T[n];
T[n]=K;
}
}
}
public static void main (String[] args){
Indice2 tab=new Indice2();
for(int i=0;i<3;i++){
System.out.print(tab.Al[i]+" | ");
}
}
}
quand je run seulemnt cette classe ;la résultat est :
4
3 | 1 | 0 | BUILD SUCCESSFUL (total time: 0 seconds)