2015-07-27 23 views
6

Robię więc proste zgadywanie, a program nie wyjdzie z pętli, gdy użytkownik naciśnie przycisk anulowania. Oto pętliPrzycisk anulowania JOptionPane nie zniknie z okna?

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)); 

    } 

Odpowiedz

9

powinno być

while(playAgain == true){ 

lub

while(playAgain){ 

nie przypisywać [=] wierny playagain porównaniu użyj [==]. to, co robisz, przypisuje true do playagain, a następnie sprawdź czy to prawda.To zawsze jest prawdziwe

+1

Dziękuję! Teraz czuję się jak głupi tyłek za popełnienie tak prostego błędu! – TheSuds13

+5

Większość programistów wolałaby drugą opcję :-) – Manu