我正在尝试在我的项目的RandomGrid rGrid
方法中使用compareGrids
,但我似乎无法弄清楚如何这样做。我原来在main方法之外有RandomGrid
构造函数,但每次尝试运行它时都会出现堆栈溢出错误。我有一个非常类似于这个类的类,在main方法之外有一个ButtonGrid
构造函数,它工作正常。谢谢你的帮助!
public static void main(String[] args) {
new ButtonGrid(WIDTH, LENGTH);
RandomGrid rGrid = new RandomGrid(WIDTH, LENGTH);
}
public int compareGrids() {
String[] args = {};
ButtonGrid.main(args);
int numCorrect = 0;
for (int i = 0; i < WIDTH; i++) {
for (int j = 0; j < LENGTH; j++) {
if (grid[i][j].getBackground() == ButtonGrid.main(rGrid).grid[i][j].getBackground()) {
numCorrect++;
}
}
}
System.out.println(numCorrect);
return numCorrect;
}
答案 0 :(得分:0)
简单回答: 使compareGrids()静态并添加参数
public static int compareGrids(Grid grid1, Grid grid2) {
...
}
这是一个入门级问题,您可能需要参考一个简单的java教程来理解基本的类元素和修饰符
答案 1 :(得分:0)
要在compareGrids中使用rGrid,它必须是类级变量。 宣布 RandomGrid rGrid = new RandomGrid(WIDTH,LENGTH); 外面的主要。 它应该解决你的问题。 一旦主要方法完成,目前rgrid的范围就会结束
请粘贴您提到的堆栈溢出错误