黑马程序员技术交流社区
标题:
交通灯
[打印本页]
作者:
韩慧阳
时间:
2012-6-18 15:50
标题:
交通灯
public Lamp black(){
this.lighted=false;
if(oppsite!=null){
Lamp.valueOf(oppsite).black();
}
Lamp nextLamp=null;
if(next !=null){
nextLamp=Lamp.valueOf(next);
Lamp.valueOf(next).light();
}
return nextLamp;
}
这是正确的写法。
请问下面这个写法问题出在哪里啊??今天突然想不通了,求大侠指教啊!
public Lamp black(){
this.lighted=false;
if(oppsite!=null){
Lamp.valueOf(oppsite).black();
}
Lamp nextLamp=Lamp.valueOf(next);
if(next !=null){
Lamp.valueOf(next).light();
}
return nextLamp;
}
作者:
赵玮_Tom
时间:
2012-6-18 16:03
在主要控制的8盏灯中,只有4盏灯有对应的nextLamp(用Lamp.valueOf(next)表示)。如果不对next是否为空进行判断而直接调用nextLamp的方法,必定会出现空指针异常
作者:
李海晓
时间:
2012-6-18 16:03
本帖最后由 李海晓 于 2012-6-18 16:06 编辑
Lamp nextLamp=Lamp.valueOf(next);
如果它是对端灯那,那么next=null;
Lamp.valueOf(next);就会有问题;
接下来就不执行了
作者:
韩慧阳
时间:
2012-6-18 16:39
这个我明白。貌似这个从递归角度来讲还有点说法,我主要是想问下逻辑上的关系!!!
可能是我想多了吧,谢谢各位!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2