[résolu]débutant: class et méthode
bonjour,
Je suis débutant en java et je ne comprends pas les lignes marquées( 1,2,3).
Je créé un objet mt2 qui est du type class menu2,ligne 1.
Mais pourquoi recreer la même chose à la ligne 2.
Que représente la méthode menu2 à la ligne 3 ?
Quand je veux donner 2 noms différents à la class menu2 et à la méthode menu2 cela ne fonctionne pas, pourquoi ?
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 93 94 95
|
public class _4_exo_18_3_menu_bis {
public static void main(String[]args){
String[]chain1={"partir loin","rester au lit","se lever"};
String[]chain2={"rouge","vert","bleu","jaune","violet"};
String[]chain3={"canard","poule","pintade","oie","dinde","pleiad"};
menu2[]mt2=new menu2[3]; ligne 1
boolean saisieok;
try{
mt2[0]=new menu2("que voulez vous faire ? ",chain1); ligne 2
mt2[1]=new menu2("quelle est votre couleur preferee ?",chain2);
mt2[2]=new menu2("trouvez l'intrus ",chain3);
}catch(npasbon ex){
}
do{
try{
saisieok=true;
mt2[0].executermenu();
mt2[1].executermenu();
mt2[2].executermenu();
}catch(horsintervalle ex){
Terminal.ecrireString("vous devez entrer un des choix proposes");
saisieok=false;
}catch(pasnombre ex){
Terminal.ecrireStringln("vous devez entrer un nombre ");
saisieok=false;
}
}while( saisieok==false);
}
}
class pasnombre2 extends Exception{}
class horsintervalle2 extends Exception{}
class menu2{
String[]tabchoix2;
String question2;
menu2(String q,String[]t)throws npasbon{ ligne 3
tabchoix2=t; ligne 4
question2=q;
}
void affiche(){
Terminal.sautDeLigne();
Terminal.sautDeLigne();
Terminal.ecrireStringln(question2);
Terminal.sautDeLigne();
for(int i=0;i<tabchoix2.length;i++){
Terminal.ecrireStringln(tabchoix2[i] + ": tapez " + (i+1));
}
Terminal.ecrireString("entrez votre choix: ");
}
int saisir()throws pasnombre,horsintervalle{
int rep=0;
try{
rep=Terminal.lireInt();
}catch(TerminalException e){
Terminal.ecrireStringln("le nombre doit etre un entier");
}
if((rep==0) || (rep >tabchoix2.length)){
throw new horsintervalle();
}
return rep;
}
int executermenu()throws pasnombre,horsintervalle{
affiche();
return saisir();
}
} |
Merci.