相同的代码块(基本上),但一个不起作用

时间:2016-05-26 02:42:43

标签: java if-statement nested

       if(PlayerOneTurn % 2 == 0)
       {                           
           if("disable".equals(actionEvent.getActionCommand()))
           {
                if(source.equals(a1))
                { 
                    if(input2.equals("x"))
                    {
                       a1.setText("x");
                       a1.setEnabled(false);
                    }
                    else               
                    {
                       a1.setText("o"); 
                       a1.setEnabled(false);
                    }
               }
               if(source.equals(a2))
               {
                   if(input2.equals("x"))
                   {
                       a2.setText("x");
                       a2.setEnabled(false);
                   }
                   else
                   {
                       a2.setText("o"); 
                       a2.setEnabled(false);
                   }
               }
               if(source.equals(a3))
               {
                   if(input2.equals("x"))
                   {
                       a3.setText("x");
                       a3.setEnabled(false);
                   }
                   else
                   {
                       a3.setText("o"); 
                       a3.setEnabled(false);
                   }
               }
               if((a1.getText().equals("x") && a2.getText().equals("x") && a3.getText().equals("x")) 
                           || (a1.getText().equals("o") && a2.getText().equals("o") && a3.getText().equals("o")))
               {
                   if(a1.getText().equals("x") || a2.getText().equals("x") || a3.getText().equals("x"))
                   {
                       a1.setEnabled(false);
                       a2.setEnabled(false);
                       a3.setEnabled(false);
                       a4.setEnabled(false);
                       a5.setEnabled(false);
                       a6.setEnabled(false);
                       a7.setEnabled(false);
                       a8.setEnabled(false);
                       a9.setEnabled(false);
                       a1.setText(" ");
                       a2.setText(" ");
                       a3.setText(" ");
                       a4.setText(" ");
                       a5.setText(" ");
                       a6.setText(" ");
                       a7.setText(" ");
                       a8.setText(" ");
                       a9.setText(" ");
                       a.setText("X");
                   }
                   else
                   {
                       a1.setEnabled(false);
                       a2.setEnabled(false);
                       a3.setEnabled(false);
                       a4.setEnabled(false);
                       a5.setEnabled(false);
                       a6.setEnabled(false);
                       a7.setEnabled(false);
                       a8.setEnabled(false);
                       a9.setEnabled(false);
                       a1.setText(" ");
                       a2.setText(" ");
                       a3.setText(" ");
                       a4.setText(" ");
                       a5.setText(" ");
                       a6.setText(" ");
                       a7.setText(" ");
                       a8.setText(" ");
                       a9.setText(" ");
                       a.setText("O");
                   }
               }
               if(source.equals(a4))
               {
                   if(input2.equals("x"))
                   {
                       a4.setText("x");
                       a4.setEnabled(false);
                   }
                   else
                   {
                       a4.setText("o"); 
                       a4.setEnabled(false);
                   }
               }
               if(source.equals(a5))
               {
                   if(input2.equals("x"))
                   {
                       a5.setText("x");
                       a5.setEnabled(false);
                   }
                   else
                   {
                       a5.setText("o"); 
                       a5.setEnabled(false);
                   }
               }
               if(source.equals(a6))
               {
                   if(input2.equals("x"))
                   {
                       a6.setText("x");
                       a6.setEnabled(false);
                   }
                   else
                   {
                       a6.setText("o"); 
                       a6.setEnabled(false);
                   }
               }
               if((a4.getText().equals("x") && a5.getText().equals("x") && a6.getText().equals("x")) 
                       || (a4.getText().equals("o") && a5.getText().equals("o") && a6.getText().equals("o")))
               {
                  if(a4.getText().equals("x") || a5.getText().equals("x") || a6.getText().equals("x"))
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("X");
                  }
                  else
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("O");
                  }
               }
               if(source.equals(a7))
               {
                   if(input2.equals("x"))
                   {
                       a7.setText("x");
                       a7.setEnabled(false);
                   }
                   else
                   {
                       a7.setText("o"); 
                       a7.setEnabled(false);
                   }
               }
               if(source.equals(a8))
               {
                   if(input2.equals("x"))
                   {
                       a8.setText("x");
                       a8.setEnabled(false);
                   }
                   else
                   {
                       a8.setText("o"); 
                       a8.setEnabled(false);
                   }
               }
               if(source.equals(a9))
               {
                   if(input2.equals("x"))
                   {
                       a9.setText("x");
                       a9.setEnabled(false);
                   }
                   else
                   {
                       a9.setText("o");
                       a9.setEnabled(false);
                   } 
               } 
               if((a7.getText().equals("x") && a8.getText().equals("x") && a9.getText().equals("x")) 
                       || (a7.getText().equals("o") && a8.getText().equals("o") && a9.getText().equals("o")))
               {
                  if(a7.getText().equals("x") || a8.getText().equals("x") || a9.getText().equals("x"))
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("X");
                  }
                  else
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("O");
                  }
               }    
               if((a1.getText().equals("x") && a5.getText().equals("x") && a9.getText().equals("x")) 
                       || (a1.getText().equals("o") && a5.getText().equals("o") && a9.getText().equals("o")))
               {
                  if(a1.getText().equals("x") || a5.getText().equals("x") || a9.getText().equals("x"))
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("X");
                  }
                  else
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("O");
                  }
               }
               if((a3.getText().equals("x") && a5.getText().equals("x") && a7.getText().equals("x")) 
                       || (a3.getText().equals("o") && a5.getText().equals("o") && a7.getText().equals("o")))
               {
                  if(a3.getText().equals("x") || a5.getText().equals("x") || a7.getText().equals("x"))
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("X");
                  }
                  else
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("O");
                  }
               }
               if((a1.getText().equals("x") && a4.getText().equals("x") && a7.getText().equals("x")) 
                       || (a1.getText().equals("o") && a4.getText().equals("o") && a7.getText().equals("o")))
               {
                  if(a1.getText().equals("x") || a4.getText().equals("x") || a7.getText().equals("x"))
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("X");
                  }
                  else
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("O");
                  }
               }
               if((a2.getText().equals("x") && a5.getText().equals("x") && a8.getText().equals("x")) 
                       || (a2.getText().equals("o") && a5.getText().equals("o") && a8.getText().equals("o")))
               {
                  if(a2.getText().equals("x") || a5.getText().equals("x") || a8.getText().equals("x"))
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("X");
                  }
                  else
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("O");
                  }
               }
               if((a3.getText().equals("x") && a6.getText().equals("x") && a9.getText().equals("x")) 
                       || (a3.getText().equals("o") && a6.getText().equals("o") && a9.getText().equals("o")))
               {
                  if(a3.getText().equals("x") || a6.getText().equals("x") || a9.getText().equals("x"))
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("X");
                  }
                  else
                  {
                      a1.setEnabled(false);
                      a2.setEnabled(false);
                      a3.setEnabled(false);
                      a4.setEnabled(false);
                      a5.setEnabled(false);
                      a6.setEnabled(false);
                      a7.setEnabled(false);
                      a8.setEnabled(false);
                      a9.setEnabled(false);
                      a1.setText(" ");
                      a2.setText(" ");
                      a3.setText(" ");
                      a4.setText(" ");
                      a5.setText(" ");
                      a6.setText(" ");
                      a7.setText(" ");
                      a8.setText(" ");
                      a9.setText(" ");
                      a.setText("O");
                  }
               }

一遍又一遍地重复b1-b9到e1-e9

由于某种原因,我的代码块从未被读过。输出: 点击一下:http://imgur.com/cl5aHyM 点击两下:http://imgur.com/6LIG98k 第三次单击工作(使用输入),然后第四次单击不工作,依此类推。 我会把整个代码放在这里,但它太长了,所以这里有一些相关的信息:

import javax.swing.*;
import java.awt.Dimension;
import java.awt.event.*;
import java.util.Scanner;
public class SuperTicTacToe implements ActionListener
{
    public static String input;
    public static String input2;
    final static String LABEL_TEXT = "Player One's Turn";
    final static String LABEL_TEXT2 = "Player Two's Turn";
    JFrame frame;
    JPanel contentPane;
    JLabel label;
    JButton a, a1, a2, a3, a4, a5, a6, a7, a8, a9, b, b1, b2, b3, b4, b5, b6, b7, b8, b9, c, c1, c2, c3, c4, 
c5, c6, c7, c8, c9, d, d1, d2, d3, d4, d5, d6, d7, d8, d9, e, e1, e2, e3, e4, e5, e6, e7, e8, e9,
f, f1, f2, f3, f4, f5, f6, f7, f8, f9, g, g1, g2, g3, g4, g5, g6, g7, g8, g9, h, h1, h2, h3, h4, h5,
h6, h7, h8, h9, i, i1, i2, i3, i4, i5, i6, i7, i8, i9;
    int PlayerOneTurn = 0;

设置输入,以备需要:

        Scanner reader = new Scanner(System.in);

    System.out.println("Would you like to be X or O? ");
    input = reader.nextLine();

    if(input.equals("X") || input.equals("x"))
    {
        input2 = "o";
    }
    else
    {
        input2 = "x";
    }

这是一段有效的代码:

   public void actionPerformed(ActionEvent actionEvent) 
   {
       PlayerOneTurn += 1;
       System.out.println(PlayerOneTurn);
       Object source = actionEvent.getSource();
       if(PlayerOneTurn % 2 != 0)
       {
           if("disable".equals(actionEvent.getActionCommand()))
           {

请注意这部分与非工作部分完全相同(也在执行动作的方法中)。

1 个答案:

答案 0 :(得分:0)

显然,这是if语句的顺序。它必须是:

       if("disable".equals(actionEvent.getActionCommand()))
       {
           if(PlayerOneTurn % 2 != 0)
           {

然后在所有玩家转过来之后,对于玩家两个回合的话。