0
코드가 제대로 작동하는 데 문제가 있습니다. 저는 아직 자바에 익숙하지 않고 잘못된 방향으로 갈 수있는 방향과 단서가 있습니다.자바 스위치, 그렇다면 문자열이있는 부울
오류는 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;
}
}