我已经创建了一个2D数组(用作一个游戏板),在另一个类我想采取我的数组,并能够对它执行操作。
我的数组定义(在类playingboard
中):
public char[][] myGrid = new char[12][12];
现在我想在我的项目中从其他类操纵这个数组。我尝试在未定义它的类中调用此网格
int i, j;
for(i = 0; i < 12; i++) {
for(j = 0; j < 12; j++) {
PlayingBoard.myGrid[i][j] = 'x';
}
}
我得到了错误:
不能从静态上下文引用非静态变量mygrid
如何从第二个类中引用、编辑和操作mygrid
?
答案指向静态数组的使用,从OO的角度来看,这让我感到悲哀。
如何确保您的游戏板有一个适当封装的结构,使用“addpiece”方法?
PlayingBoard myBoard = new PlayingBoard();
int i, j;
for(i = 0; i < 12; i++) {
for(j = 0; j < 12; j++) {
myBoard.addPiece(i,j, 'x');
}
}
即使这样,如果您的片段本身是“聪明的”,您也希望创建一个对象来包装它们,而不是仅仅存储一个字符。
public PlayingPiece[][] _board = new PlayingPiece[8][8];
此外,您在循环中使用了12,而在初始化中使用了8,因此需要一个IndexOutOfBounds异常。
您必须更改以下两件事中的一件:
>
声明myGrid
为静态
public static char[][] myGrid = new char[8][8];
通过对象实例访问MyGrid
:
PlayingBoard pb = new PlayingBoard();
int i, j;
for(i = 0; i < 12; i++) {
for(j = 0; j < 12; j++) {
pb.myGrid[i][j] = 'x';
}
}
下面是一个动态数组。现在我想为“BHD0000000002”编辑一个特定的数组。我通过ajax请求获得以下数组。但是,我无法编辑内部数组元素。例如,我试图编辑键“BHD0000000002”的内部数组值,但无法解决问题。有人能帮忙吗,先生/女士? 这是原始数组: : 到目前为止,我已经尝试了以下代码,但它不起作用。有人能帮忙吗?
我有两个IntelliJ IDEA Java项目;项目A和项目B。我想在ProjectB中导入并使用ProjectA中的代码。我该怎么做? 在Eclipse中,我只需转到ProjectB的构建路径设置并添加ProjectA。
我有一个Meteor React应用程序,我正在开发该应用程序,我想在其中以一种模式实现登录/注册功能。我不知道如何通过单击“注册”或“登录”按钮打开模式 我有以下两个组成部分: UI/组件/main-布局/头/LoggedOutNav.jsx UI/组件/模态/LoginRegistration.jsx 如何从其他组件打开模态?
我知道我们在函数组件中使用history.push(),并对重定向路由做出反应。但是在类组件中,我们如何在点击按钮时重定向
我想把一个模型对象映射到dto模型。我已经有一个对象的映射器。我如何在另一个类中的另一个映射器中重用这个映射器? 我有下面的模型 这是我的地图 我希望将History映射到HistoryDynamo并重用IdentifierMapper映射HistoryDynamo中的一个对象。如何在ToHistoryDynamo中使用toIdentifierDynamo?
我有两个数组 我想检查是否包含中的任何项。基于这里的帖子,我有以下代码,它只适用于chrome