代码创建对象数组和toString方法。
import java.util.Arrays;
public class TicTacToeBoard extends BoardClass{
private int turns;
private XOClass[][] a;
public TicTacToeBoard(int rows,int cols){
super(rows,cols);
XOClass[][]a = new XOClass[rows][cols];
turns = 0;
}
public String toString(){
return (Arrays.deepToString(a));
}
}
对象类
public class XOClass{
private String name;
private static int turn=0;
public XOClass(){
if (turn==0){
this.name = "-";
}
if (turn==1){
this.name = "X";
}
else{
this.name = "O";
}
}
演示班
public class play {
public static void main(String[] args){
TicTacToeBoard tac = new TicTacToeBoard(3,3);
System.out.println(tac);
}
}
当调用类播放时,它返回null,因为数组中没有任何东西我的代码出错了。
答案 0 :(得分:1)
在您的代码中:
XOClass[][]a = new XOClass[rows][cols];
只在方法中初始化新的XOClass,当方法结束时它不信任。 将其更改为
a = new XOClass[rows][cols];
这意味着您已经创建了一个二维数组,其中包含“行”行。在第一行中有'cols'列。 并且所有行都为null。 现在您应该创建如下行:
a[0] = new XOClass[cols];
然后
a[0][0]=new XOClass();