方法始终返回值0或在最后一次返回中设置的值

时间:2017-12-27 15:31:35

标签: java switch-statement

public class User实现GameObject {

private Scanner userScanner;
private int result = 0;

public User() {
    userScanner = new Scanner(System.in);
}

public int getGameObject() {
    System.out.println("Rock: 1, Paper: 2 or Scissors: 3");
    String userInput = userScanner.nextLine();

    if (userInput == "1" || userInput == "2" || userInput == "3") {
        // User has entered a valid input
        switch (userInput) {
            case "1":
                return 1;
            case "2":
                return 2;
            case "3":
                return 3;
        }
    }
    return getGameObject();
}

}

我的问题是getGameObject()方法的结果。当我在应用程序中使用它时,它总是返回0或我在最后一个返回中设置的值(int fex 2)。我想获得用户值(0,1,2)。我的计划是在最终方法返回时返回到第一个提示行,以防用户选择错误。在这种情况下,方法始终返回方法调用,我陷入无限循环。你能帮忙吗?

0 个答案:

没有答案