Java Eclipse需要额外的{}。。。为什么?
我正在制作一个Android应用程序,我刚刚开始编写一段代码,该代码必须处理ImageView在另一个类文件中的移动。(到目前为止)效果很好,所以这不是我的问题。这是我的代码:Java Eclipse需要额外的{}。。。为什么?,java,android,eclipse,Java,Android,Eclipse,我正在制作一个Android应用程序,我刚刚开始编写一段代码,该代码必须处理ImageView在另一个类文件中的移动。(到目前为止)效果很好,所以这不是我的问题。这是我的代码: public class BackgroundMovement extends MenuScreen { public float heightDp = 0; public float widthDp = 0; public int isShowing = 0; public void
public class BackgroundMovement extends MenuScreen {
public float heightDp = 0;
public float widthDp = 0;
public int isShowing = 0;
public void onCreate() {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
heightDp = metrics.heightPixels / metrics.density;
widthDp = metrics.widthPixels / metrics.density;
}
public Random rand = new Random();
public int leftRight = rand.nextInt(2); [HERE]
if (isShowing == 0) {
}
}
你可能已经注意到了我代码中非常奇怪的地方。我把它放进去是因为Eclipse希望我在最后添加一个{,当然是一个}。
所以我的问题是:为什么?
我完全不知道,我真的很想修复它…在类的顶层,在任何方法或init块之外都有一条简单的控制语句:
if (isShowing == 0) {}
这不是有效的java语法,Eclipse对此表示不满。但更重要的是,编译器也会抱怨这一行:实际上,您的类不会编译。应该在一个方法中
if (isShowing == 0) {
}
无需移动
int leftRight=rand.nextInt(2)代码>在方法中。是的,只要rand
声明在某个地方,类顶级的变量decl就可以了。这只是因为您忘记了将if
语句放在方法中。您可能想将if(isShowing)
放在方法中,但将其放在init块中(正如Eclipse所建议的那样)将满足编译器的要求。但是你的代码没有意义。