0

我有点麻烦,让我的代码的几个部分正常工作。 我对java还是有点新,可能会有一些方向和线索,我错了。JAVA开关,如果其他和字符串布尔值

错误来自if语句。我觉得我知道他们为什么会犯错,因为||未定义,但我不知道如何解决它。我试图让它做的是采取输入要么L,R,F,B(左,右,前进和后退)。小写输入,并使用布尔“或”接受任一个或另一个。

import java.util.Scanner; 

公共类ChooseYourAdventure {

public static void main(String[]args) { 
    Scanner input = new Scanner(System.in);    
    System.out.print("Choose a diection: "); 
    String direction = input.nextLine().toLowerCase(); 
    System.out.printf(" %s and %s/n",getDirection (way),getYourChoice (found)); 

} 

public static String getYourChoice (String found) { 
    String result = "Unknown"; 
    switch (found) 
    { 
    case "l": 
     result = " now we all know you can turn left unlike Zoolander"; 
     break; 

    case "left": 
     result = " now we all know you can turn left unlike Zoolander"; 
     break; 

    case "r": 
     result = " you fall down a hole never to be seen again... sad."; 
     break; 

    case "right": 
     result = " you fall down a hole never to be seen again... sad."; 
     break;  

    case "f": 
     result = " YOU ARE THE KWISATZ HADERACH!!"; 
     break; 

    case "forward": 
     result = " YOU ARE THE KWISATZ HADERACH!!"; 
     break; 

    case "b": 
     result = " you are a scaredy cat but, you live to fight or runaway another day"; 
     break; 

    case "back": 
     result = " you are a scaredy cat but, you live to fight or runaway another day"; 
     break; 
    } 
    return result; 
} 

public static String getDirection(String way) { 
    String result; 
    if (way == "l" || "left") { 
     System.out.print("Your character moves left"); 
    } 

    else if (way == "r" || "right") { 
     System.out.println("You character moves right"); 
    } 

    else if (way == "f" || "forward") { 
     System.out.println("Your character moves forward"); 
    } 

    else if (way == "b" || "back") { 
     System.out.println("Your character moves forward"); 
    } 

    else { 
     System.out.println(" You cant go that way "); 
    } 

    return result; 
} 

}

回答

0

你所有的if陈述是错误的。当使用||&&,你需要在||的每一侧指定变量way

if (way == "l" || way == "left") { 
    System.out.print("Your character moves left"); 
}