JOptionPane取消按钮不会取消窗外?

The*_*s13 6 java swing joptionpane

所以,我正在制作一个简单的猜谜游戏,当用户按下取消按钮时,程序不会退出循环.这是循环

while(playAgain = true){
        int n = JOptionPane.showConfirmDialog(null, fields, "Number guessing game", JOptionPane.CANCEL_OPTION);

        if(n == JOptionPane.CANCEL_OPTION){
            playAgain = false;
        }

        int randomNumber = randomNumber();

        String guess = input.getText();
        compare(randomNumber, Integer.parseInt(guess));

    }
Run Code Online (Sandbox Code Playgroud)

Mad*_*tha 11

它应该是

while(playAgain == true){
Run Code Online (Sandbox Code Playgroud)

要么

while(playAgain){
Run Code Online (Sandbox Code Playgroud)

不要将[ =] 赋值为playagain使用比较[ ==].你所做的是将true指定给playagain,然后检查是否为true.所以它总是如此

  • 大多数程序员更喜欢第二种选择:-) (6认同)