我最初想说谢谢你花时间看我的帖子。基本上我试图使用Math.random创建一个带有随机整数的多维数组。代码编译并继续返回空指针异常错误消息。我不知道在创建对象时我做错了什么。谁能告诉我代码有什么问题?
public Table(int r, int c)
{
rows = r;
columns = c;
for (int i = 0; i < r; i++)
for (int j = 0; j < c; j++)
{
/*
* Here is where the error keeps returning, blueJ keeps pointing
* me to this line of code and it has to be the variables I am using
* in the array that are causing the issue. The only issue is I * don't know what to insert for that.
*/
theTable[i][j] = (int)(100*Math.random());
}
}
答案 0 :(得分:1)
您的代码中的哪个位置正在初始化表?这可能是该行唯一的null。确保您声明表格的地方也是如此:
private int[][] theTable = new int[r][c]
答案 1 :(得分:1)
添加:
int[][] theTable = new int[r][c];
在for
循环之前,如果您希望它在方法的本地。如果您希望它成为该类的成员,请添加
private int[][] theTable = new int[r][c];
在班上。
答案 2 :(得分:0)
您既没有声明也没有初始化theTable
,所以对Java来说,它不存在。当您尝试在Java中使用不存在的对象时,您将获得空指针异常。已经有正确的答案为您的问题提供解决方案。我建议你使用他们的代码。 durron597特别清楚/好。