我的布尔方法似乎是跳过字符串声明到while循环?

时间:2015-11-12 02:11:32

标签: java methods while-loop boolean

我一直在做一个简单的骰子扑克项目,我似乎无法让我的程序让用户重播而不重复几行。

示例:

        private static boolean promptForPlayAgain(Scanner inScanner) {

        System.out.println("Would you like to play again [Y/N]?: ");
        String str = inScanner.nextLine();

        while (!(str.equalsIgnoreCase("Y") || str.equalsIgnoreCase("N"))){
            System.out.println("ERROR! Only 'Y' or 'N' allowed as input!");
            System.out.println("Would you like to play again [Y/N]?: ");
            str = inScanner.nextLine();
        }

        if (str.equalsIgnoreCase("Y")){
            return true;
        }

        if (str.equalsIgnoreCase("N")){
            return false;
        }
        return false;

}

这是我的代码,在用户输入任何内容之前,它会输出:

  

你想再玩一次[Y / N]吗?:

     

ERROR!只允许'Y'或'N'作为输入!

     

你想再玩一次[Y / N]吗?:

它似乎跳过我原来的str声明并执行while循环。我做错了什么?

0 个答案:

没有答案