Java 从对象类访问二维数组。
在Java中,我有一个二维的对象数组,但我不能访问对象类方法中的任何对象数组。我该怎么办? 这是我的班级:Java 从对象类访问二维数组。,java,arrays,class,Java,Arrays,Class,在Java中,我有一个二维的对象数组,但我不能访问对象类方法中的任何对象数组。我该怎么办? 这是我的班级: class GoPiece { final int boardSize = 19; final int empty = 0; final int black = 1; final int white = 2; int pieceType = empty; int leftRight; int downUp; int turnP
class GoPiece
{
final int boardSize = 19;
final int empty = 0;
final int black = 1;
final int white = 2;
int pieceType = empty;
int leftRight;
int downUp;
int turnPlayed;
boolean legal;
// GoPiece's Constructor with 3 parameters.
GoPiece(int blackOrWhite, int horizontalCoordinate, int verticalCoordinate)
{
pieceType = blackOrWhite;
leftRight = horizontalCoordinate;
downUp = verticalCoordinate;
if ((true));
}
// GoPiece's Constructor with 2 parameters.
GoPiece(int horizontalCoordinate, int verticalCoordinate)
{
pieceType = empty;
leftRight = horizontalCoordinate;
downUp = verticalCoordinate;
}
// GoPiece's Constructor with no parameters.
GoPiece()
{
leftRight = 0;
downUp = 0;
}
// Initialize an empty Go board full of GoPieces.
GoPiece[][] InitializeBoard()
{
GoPiece[][] intersection = new GoPiece[boardSize][boardSize];
for(int horizontal = 0; horizontal < boardSize; horizontal++)
{
for(int vertical = 0; vertical < boardSize; vertical++)
{
intersection[horizontal][vertical] = new GoPiece(horizontal,vertical);
}
}
return intersection;
}
// Make a piece a certain type: empty, black, or white.
public void SetType(int newType)
{
pieceType = newType;
}
public int GetType()
{
return pieceType;
}
public void CheckKill()
{
int foobar = this.GetType();
}
}
classgopiece
{
最终int boardSize=19;
最终整数为空=0;
最终整数黑色=1;
最终整数白=2;
int-pieceType=空;
int leftRight;
int-dowup;
整场比赛;
布尔合法;
//GoPiece的构造函数有3个参数。
GoPiece(整数黑白、整数水平坐标、整数垂直坐标)
{
pieceType=黑色或白色;
leftRight=水平坐标;
向下=垂直坐标;
如果((真));
}
//GoPiece的构造函数有2个参数。
GoPiece(int水平坐标、int垂直坐标)
{
pieceType=空;
leftRight=水平坐标;
向下=垂直坐标;
}
//GoPiece的构造函数没有参数。
戈皮克()
{
leftRight=0;
downUp=0;
}
//初始化一个满是棋子的空棋盘。
GoPiece[]初始化板()
{
GoPiece[][]交叉点=新GoPiece[boardSize][boardSize];
对于(int horizontal=0;horizontal
然后,我可以在程序的另一部分中使用InitializeBoard()创建一个二维的GoPieces数组。。。这是可行的,但是除了我在类GoPiece的成员函数中引用的部分之外,我如何访问所有这些部分呢?我尝试将整个数组传递到其中一个GoPieces函数中,但这似乎不起作用
围棋是一种古老的中国棋类游戏。在上面的CheckKill()方法中,我尝试访问数组的不同部分,但失败了。这里我有一些工作的虚拟代码
谢谢。您需要创建一个单独的类来表示电路板本身(包括当前的工件放置)。创建电路板、测试杀戮等的逻辑属于电路板,而不是单个元件。您需要创建一个单独的类来表示电路板本身(包括元件的当前位置)。创建板、测试kill等的逻辑属于板,而不是单个块。您的意思是要使用数组调用方法,如
InitializeBoard.GetType()代码>其中InitializeBoard是二维数组
你不能那样做。您必须指定要从InitializeBoard中取出的GoPiece。示例:InitializeBoard[0][0]。GetType()
如果必须调用所有方法,则可以使用for循环分别调用每个方法。您的意思是要使用类似InitializeBoard.GetType()的数组调用方法吗代码>其中InitializeBoard是二维数组
你不能那样做。您必须指定要从InitializeBoard中取出的GoPiece。示例:InitializeBoard[0][0]。GetType()
如果必须调用所有方法,可以使用for循环单独调用每个方法。一句话:智能板;笨蛋,谢谢你,特德。我就是这么想的,但我正试图找到一个好的方法来做到这一点。我想如果我的电路板尺寸设置好了会更容易些,但我希望它是可变的。我将继续尝试创建一个board类。@EricMartin-您可以在构造函数中创建一个接受board大小的board类。您还可以以允许动态调整电路板大小的方式写入。(你必须想出一个处理任何现有的黑色或白色部件的策略。)用一句话来说:智能板;笨蛋,谢谢你,特德。我就是这么想的,但我正试图找到一个好的方法来做到这一点。我想如果我的电路板尺寸设置好了会更容易些,但我希望它是可变的。我将继续尝试创建一个board类。@EricMartin-您可以在构造函数中创建一个接受board大小的board类。您还可以以允许动态调整电路板大小的方式写入。(您必须制定一个处理任何现有黑色或白色片段的策略。)请遵循并使用初始小写方法名称请遵循并使用初始小写方法名称