Java 空指针异常,无法解析
当我运行percolation类时,我得到了一个空指针异常,我没有任何线索,如何摆脱它,任何帮助都将非常感谢Java 空指针异常,无法解析,java,nullpointerexception,Java,Nullpointerexception,当我运行percolation类时,我得到了一个空指针异常,我没有任何线索,如何摆脱它,任何帮助都将非常感谢 public class Bucket { int rows,cols,blocked,open,full; public void initialize() { rows=0; cols=0; blocked=0; System.out.println("You were here");
public class Bucket
{
int rows,cols,blocked,open,full;
public void initialize()
{
rows=0;
cols=0;
blocked=0;
System.out.println("You were here");
}
public void open()
{
blocked=1;
}
}
公共类过滤
{
//公共渗滤(int N)
公共静态void main(字符串args[])引发异常
{
尝试
{
int N=5;
Bucket[]barray=新Bucket[N][N];
对于(int i=0;i使用new
操作符创建数组只需分配一个满null
s的数组。在尝试使用它之前,您仍然需要分别初始化每个元素:
public class Percolation
{
//public Percolation(int N)
public static void main(String args[])throws Exception
{
try
{
int N=5;
Bucket[][] barray=new Bucket[N][N];
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
barray[i][j].initialize();
//barray[i][j].cols=0;
//barray[i][j].blocked=0;
}
}
}
catch(Exception e)
{
System.out.println(e);
}
}
然后,在初始化阵列时:
public class Bucket
{
int rows,cols,blocked,open,full;
public Bucket() {
initialize();
}
public void initialize()
{
rows=0;
cols=0;
blocked=0;
System.out.println("You were here");
}
public void open()
{
blocked=1;
}
}
int N=5;
Bucket[]barray=新Bucket[N][N];
对于(int i=0;i使用new
操作符创建数组只需分配一个满null
s的数组。在尝试使用它之前,您仍然需要分别初始化每个元素:
public class Percolation
{
//public Percolation(int N)
public static void main(String args[])throws Exception
{
try
{
int N=5;
Bucket[][] barray=new Bucket[N][N];
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
barray[i][j].initialize();
//barray[i][j].cols=0;
//barray[i][j].blocked=0;
}
}
}
catch(Exception e)
{
System.out.println(e);
}
}
然后,在初始化阵列时:
public class Bucket
{
int rows,cols,blocked,open,full;
public Bucket() {
initialize();
}
public void initialize()
{
rows=0;
cols=0;
blocked=0;
System.out.println("You were here");
}
public void open()
{
blocked=1;
}
}
int N=5;
Bucket[]barray=新Bucket[N][N];
对于(int i=0;i您创建一个Bucket
对象数组。但是,它们没有初始化
您需要通过以下方式创建Bucket
的实例:
int N=5;
Bucket[][] barray=new Bucket[N][N];
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
barray[i][j] = new Bucket(); // no need to call initialize()
}
}
publicstaticvoidmain(字符串args[])引发异常
{
尝试
{
int N=5;
Bucket[]barray=新Bucket[N][N];
对于(int i=0;i您创建一个Bucket
对象数组。但是,它们没有初始化
您需要通过以下方式创建Bucket
的实例:
int N=5;
Bucket[][] barray=new Bucket[N][N];
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
barray[i][j] = new Bucket(); // no need to call initialize()
}
}
publicstaticvoidmain(字符串args[])引发异常
{
尝试
{
int N=5;
Bucket[]barray=新Bucket[N][N];
对于(int i=0;ibarray[i][j]=new Bucket()
insidefor
loopbarray[i][j]=new Bucket()
insidefor
loopYa,非常感谢您的帮助,是的,我当然会遵循您的建议!:)是的,非常感谢您的帮助,是的,我当然会遵循您的建议!:)