【发布时间】:2013-12-16 21:52:15
【问题描述】:
每次我在generateBoard 方法中调用myGrid 时,都会收到错误消息:
非静态变量
myGrid不能被静态上下文引用
据我了解,这不应该发生,因为我已将数组设置为公开的,并且应该能够从任何其他类访问。那我是不是设置错数组了?
import java.util.Random;
public class Zombies {
private int Level = 1;
private int MoveNo = 0;
public int[][] myGrid = new int[12][12];
public static void generateBoard() {
Random rand = new Random();
int i, j;
for (i = 0; i < 12; i++) {
for (j = 0; j < 12; j++) {
if ( i == 6 && j == 6) {
myGrid[i][j] = 'P';
}
if (rand.nextInt(4) == 0) {
myGrid[i][j] = 'I';
}
myGrid[i][j] = 'x';
}
}
}
public static String printBoard() {
int i, j;
for (i = 0; i < 12; i++) {
for (j = 0; j < 12; j++) {
if (j == 0) {
System.out.print( "| " );
}
System.out.print( myGrid[i][j] + " " );
if (j == 12) {
System.out.print( "|" );
}
}
}
}
}
【问题讨论】:
-
以后,请高亮(用文字)错误信息指示的行。将更容易解决这个问题。
标签: java arrays static definition