我的while循环不会停止休息?

Cry*_*pto 0 java eclipse while-loop

if (sum < 6) {
    System.out.println("You win");
    System.out.println();
    // Does the user want to retry?
    System.out.print("Would you like to retry?(Y or N) : ");
    String retry = input.nextLine();

    while (true) {
        // If they say y or Y, roll again
        if (("y".equals(retry)) || ("Y".equals(retry))) {
            roll();
        // Check for anything other than y and Y
        } else if (("n".equals(retry)) || ("N".equals(retry))) {
            System.out.println("Closing");
            break;
        } else if (!("y".equals(retry)) || !("Y".equals(retry))) {
            System.out.print("Invalid input. Would you like to retry?(Y or N) : ");
            retry = input.nextLine();
            System.out.println();

        }
    }
} else if (sum > 6) {
    System.out.println("You lose");
    System.out.println();
    System.out.print("Would you like to retry?(Y or N) : ");
    String retry = input.nextLine();
    while (true) {
        if (("y".equals(retry)) || ("Y".equals(retry))) {
            roll();
        } else if (("n".equals(retry)) || ("N".equals(retry))) {
            System.out.println("Closing");
            break;
        } else if (!("y".equals(retry)) || !("Y".equals(retry))) {
            System.out.print("Invalid input. Would you like to retry?(Y or N) : ");
            retry = input.nextLine();
            System.out.println();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试制作一个骰子游戏,当用户输入"y"或输入时,游戏将继续滚动骰子"Y".我也想让它停止游戏并说出"Closing"用户何时输入"n""N".

问题是,当用户输入"n"或时"N",它将打印出来,"Closing"但循环不会停止,游戏将再次滚动骰子.当用户输入"n""N"?时,如何使while()循环停止?

这是用户选择停止游戏时的输出("n" or "N"):会

you like to retry?(Y or N) : n
Closing
Rolling...
You rolled : 1 & 4
Sum = 5
You win
Run Code Online (Sandbox Code Playgroud)

对于这个基本问题,我很抱歉,我是编程新手.

luk*_*302 5

将线移动String retry = input.nextLine();while循环中(在两个分支中).目前,您在一个输入中读取,然后反复比较该不变的输入.