Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse需要额外的{}。。。为什么?_Java_Android_Eclipse - Fatal编程技术网

Java Eclipse需要额外的{}。。。为什么?

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

我正在制作一个Android应用程序,我刚刚开始编写一段代码,该代码必须处理ImageView在另一个类文件中的移动。(到目前为止)效果很好,所以这不是我的问题。这是我的代码:

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所建议的那样)将满足编译器的要求。但是你的代码没有意义。