import java.util.Scanner;
class Cluedo2 {
private static Scanner clavier = new Scanner(System.in);
public static void main(String[] args) {
System.out.print("Pensez a un personnage : Mlle Rose, ");
System.out.println("le Professeur Violet, le Colonel Moutarde,");
System.out.println("le Reverend Olive ou Mme Leblanc.\n");
System.out.print("Est-ce que votre personnage est un homme ? ");
System.out.print("(true : oui, false : non) ");
boolean homme = clavier.nextBoolean();
if(homme){
System.out.print("Votre personnage a-t-il des moustaches ? ");
boolean moustaches = clavier.nextBoolean();
System.out.print("Votre personnage porte-t-il un chapeau ? ");
boolean chapeau = clavier.nextBoolean();
}
else{
System.out.print("Votre personnage porte-t-il des lunettes ? ");
boolean lunettes = clavier.nextBoolean();
}
System.out.print("==> Le personnage auquel vous pensez est ");
if (homme) {
/*******************************************
* Completez le programme a partir d'ici.
*******************************************/
if(moustaches){
System.out.println("le Colonel Moutarde");
}
else if(chapeau){
System.out.println("le Professeur Violet");
}
else{
System.out.println("le Reverend Olive");
}
}
else {
if(lunettes){
System.out.println("Mme Leblanc");
}
else{
System.out.println("Mlle Rose");
}
/*******************************************
* Ne rien modifier apres cette ligne.
*******************************************/
}
System.out.println();
}
}
我收到此错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
moustaches cannot be resolved to a variable
chapeau cannot be resolved to a variable
lunettes cannot be resolved to a variable
at Cluedo2.main(Cluedo2.java:41)
答案 0 :(得分:3)
您在if
语句中声明了变量,因此它们不会存在于此代码块之外。如果您需要稍后在代码中访问声明,请将声明移出if
块:
boolean moustaches = false;
boolean chapeau = false;
if(homme){
System.out.print("Votre personnage a-t-il des moustaches ? ");
moustaches = clavier.nextBoolean();
System.out.print("Votre personnage porte-t-il un chapeau ? ");
chapeau = clavier.nextBoolean();
}