j2me unreachable code错误?????????

来源:百度知道 编辑:UC知道 时间:2024/06/21 07:35:07
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;

public class test3 extends Canvas implements Runnable {
int x=50,y=50;
int addX=2,addY=2;

public test3() {
super();
// TODO Auto-generated constructor stub
new Thread(this).start();

}

protected void paint(Graphics g) {
// TODO Auto-generated method stub
g.setColor(200,111,233);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(255,44,44);
g.fillArc(x,y,30,30,0,360);
}

public void run() {
// TODO Auto-generated method stub
while(true)
try {
Thread.sleep(20);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
x+=addX;----此句报错unreachable code
y+=addY;
if(x>getWidth()-30||x<0)
addX=-addX;
if(y>

1.在run方法中,你使用了一个while(true)循环,也就是在不停的执行,没有结束。
2.这个循环外没有加{}指定范围,那么这个while循环默认的作用域就是从try开始到x+=addX。也就是从x+=addX开始往后的所有代码都不会执行得到。
所以在编译时候,会出现unreachable code异常,翻译成中文就是“不可达到的代码”