2014-09-21 1 views
-3
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) 

ответ

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(); 
} 
+0

resault всегда ложно во втором, если выполнено условие – user3248000

Смежные вопросы