0

私のコードのいくつかの部分を正しく動作させるのに少し問題があります。 私はまだJavaに少し慣れていて、どこに間違っていたのか、いくつかの方向性と手がかりがあります。JAVAスイッチ、そうでなければ、文字列でブール値

エラーはif文から発生します。なぜ彼らが間違っているのか分かっているように感じるのは、||私はそれを修正する方法がわかりません。私がしなければならないのは、入力をL、R、F、B(左、右、前と後)のいずれかにすることです。入力を小文字にし、いずれか一方をブール値 "or"を使用して受け入れます。

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"); 
} 
関連する問題