【问题标题】:JAVA Switches, if then else and booleans with stringJAVA 开关,if then else 和带字符串的布尔值
【发布时间】:2017-10-15 19:04:39
【问题描述】:

我在让我的代码的某些部分正常工作时遇到了一些麻烦。 我对 java 还是有点陌生​​,可以找到一些方向和线索来找出我出错的地方。

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

import java.util.Scanner;

公共类选择你的冒险{

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;
}

}

【问题讨论】:

    标签: string if-statement switch-statement boolean boolean-operations


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-13
      • 2015-06-12
      相关资源
      最近更新 更多