我真的没有太多要问的。哎呀,我什至不知道这个问题应该说什么。基本上,这段 Java 代码运行良好,没有任何编译错误。
public class Application {
static String[][] tiles;
public Application() {
tiles = new String[9][9];
}
public static void main(String[] args) {
Application app = new Application();
Grid mines = new Grid();
mines.fillTiles(tiles, 9, 9, 10);
}
}
class Grid {
Random rand;
public void fillTiles(String[][] tiles, int rowSize, int colSize,
int numMines) {
rand = new Random();
int rowIndex;
int columnIndex;
while (numMines > 0) {
rowIndex = rand.nextInt(rowSize);
columnIndex = rand.nextInt(colSize);
tiles[rowIndex][columnIndex] = "M";
numMines--;
}
}
}
但是,当我删除线
Application app = new Application();
从第一类的主要方法,它在抛出一个 NullPointerException
tiles[rowIndex][columnIndex] = new String("M");
有什么理由吗?