2012-12-20 139 views
0

我編寫了一個tic tac toe遊戲,它編譯和運行的很好,但是如果你點擊左上方的框,它會自動地說X贏得Like this。這是董事會唯一能夠做到的運動。不知道我在確定贏家時做錯了什麼。如果你想看到更多的代碼,完整的代碼是hereTic Tac Toe遊戲錯誤

 //Determine who won 
     if(button1.getText() == button2.getText() 
       && button2.getText() == button3.getText() 
       && button1.getText() != "") 
     { 
      win = true; 
     } 
     else if(button4.getText() == button5.getText() 
        && button5.getText() == button6.getText() 
        && button4.getText() != "") 
     { 
      win = true; 
     } 
     else if(button7.getText() == button8.getText() 
        && button8.getText() == button9.getText() 
        && button7.getText() != "") 
     { 
      win = true; 
     } 

     else if(button1.getText() == button4.getText() 
        && button4.getText() == button7.getText() 
        && button1.getText() != "") 
     { 
      win = true; 
     } 
     else if(button2.getText() == button5.getText() 
        && button5.getText() == button8.getText() 
        && button2.getText() != "") 
     { 
      win = true; 
     } 
     else if(button3.getText() == button6.getText() 
         && button6.getText() == button9.getText() 
         && button3.getText() != "") 
     { 
       win = true; 
     } 
     else if(button1.getText() == button5.getText() 
        && button5.getText() == button9.getText() 
        && button1.getText() != "") 
     { 
      win = true; 
     } 
     else if(button3.getText() == button5.getText() 
        && button5.getText() == button7.getText() 
        && button1.getText() != "") 
     { 
      win = true; 
     } 
     else 
     { 
      win = false; 
     } 

     if (win == true) 
     { 
      JOptionPane.showMessageDialog(null, 
              letter + " Wins!"); 
     } 
     else if (count == 9 && win == false) 
     { 
      JOptionPane.showMessageDialog(null, 
              "Tie Game!"); 
     } 
    } 
} 
+3

使用'.equals代替=='。不確定哪個條件指向左上角的框。 –

+0

左上框是button1,我應該更清楚 – Kobrien

+0

我仍然說我們需要一個投票 - 關閉選項,即「您不要在java中使用==來比較字符串」。 –

回答

4

使用==!=不要比較字符串。改爲使用equals()!equals()

How do I compare strings in Java?

+0

好吧所以它會是這樣的,然後 \t \t如果((button1.getText())。equals()方法(button2.getText()) \t \t \t \t &&(button2.getText())。等於( )(button3.getText()) \t \t \t \t &&(button1.getText())的equals() 「」) \t \t { \t \t \t贏=真!; \t \t} – Kobrien