谁来看下我的迷宫算法(还没做完)为啥就空指针了

来源:百度知道 编辑:UC知道 时间:2024/06/07 07:40:57
格子的类:
public class Lattice {
//位置
public int px,py;
public void setPos(int x,int y){
px=x;
py=y;
}

public boolean travelAble=false;//表示本格存在不存在路
public boolean rightAble=false;//表示右边路是不是通的
public boolean downAble=false;//表示下方路是不是通的
public boolean leftAble=false;//表示左边路是不是通的
public boolean upAble=false;//表示上方路是不是通的
public boolean foot=false;//表示走过没有

}
地图的类
public class puzzle {
public Lattice[][] L;

public puzzle(String[] s) {
L= new Lattice[9][9];
for (int j = 0; j < 9; j++) {
for (int i = 0; i < 9; i++) {
L[i][j].setPos(i, j);
}
}
setTravelLattice(s);
for (int j = 0; j < 9; j++) {
for (int i = 0; i < 9; i++) {
setDirect(L[i][j]);
}
}
}

private void setTravelLattice(String[] s) {
for (int k = 0; k < s.length; k++) {
for (int j

我来给你分析一下,首先你在RunPuzzle里通过main方法来启动整个程序。在main方法中,首先定义了一个字符串数组,然后通过这个字符串数组来创建一个puzzle,下面我们到puzzle的构造方法里看看你是怎么创建这个puzzle的,首先呢,你创建了一个9*9的Lattice二维数组L,注意你这个时候并没有对这个数组L里的每一个元素赋值为某个真正的Lattice对象的引用,说的更明确一点,现在这个二维数组里全部都是null,所以接下来你的代码在二重循环里便直接用“L[i][j].setPos(i, j);”来调用setPos当然会出现空指针异常了,因为这时L[i][j]全部都是null,明白了么?
请楼主给我加分吧,哈哈

天呐 爱因斯坦 还活着不 出来下

占个位子等高手~~

系统做完了ghost.还能回到没做ghost的状态下吗?> 我的电脑桌面没了,高手来看下 谁能用非递归算法解决老鼠走迷宫问题?我要源程序.!!! 我的暑假作业还没做完,还有一星期不能做,怎么办。好烦! 为什么我打开还没做完的FLASH源文件时会自动关掉 超急!作业还没做完,大家教我! 有没有人还在用索爱T628??有的请进来看看,帮我解答下我的问题,我需要一个字典的应用程序!!帮忙~~ 大家来看看我做完型的方法有错吗? 为什么我的电脑总是出现病毒啊,刚做完系统没几天就重了,我很小心了,感觉没下什么东东啊,为什么还会这样 救命!!“仙剑”中将军冢的僵尸地下迷宫怎么过呀.我都一天没吃饭了还没打出去。我晕了。