我需要将变量参数添加到已经有很多参数的开关盒中的语法。下面提供了上下文。

我正在使用开关盒将字符串答案更改为整数返回值。而不是让用户回答
1.这个。
2.别的。
我希望答案看起来像
(是/否)

我以前用以下代码完成过此操作:

static public int getYN() {
    String answer = "";
    switch(keyboard.nextLine().substring(0, 1).toLowerCase()) {
        case "y":
            return 1;

        case "n":
            return 0;

        default:
            return 2;

    }
}



然后使用以下语句:

int getAnswer = getYN();
        System.out.println();

        if (getAnswer == 1) {
        System.out.println("Stuff.");
        test = 1;
        }
        else {
        System.out.println("Other stuff.");
        System.out.println();
    }


但是,我不知道将String答案变量放在哪里。通常,如果您不使用许多其他参数,那就只是

 switch(answer) {
}

最佳答案

内联检查,忘记使用专用方法进行此检查。

    char getAnswer = keyboard.next().charAt(0);

    System.out.println();

    if (getAnswer == 'y' || getAnswer == 'Y')
    {
        System.out.println("Stuff.");
        test = 1;
    }
    else if( getAnswer == 'n' || getAnswer == 'N')
    {
        System.out.println("Other stuff.");
        System.out.println();
    }


如果绝对必须使用开关:

    char getAnswer = keyboard.next().charAt(0);

    switch(getAnswer)
    {
        case 'y':
          System.out.println("Stuff.");
          test = 1;
          break;
        case 'n':
          System.out.println("Other stuff.");
          System.out.println();
          break;
    }

09-17 05:18