0

我现在正在学习 Java,我似乎无法弄清楚这些错误......

public class Input {

    Setter access = new Setter();
//                              ^ Error here: Syntax error on token ";", { expected 
//                                after this token.

    if (commandExc == fly) {
        access.flySetter();
    }
    else if (commandExc == xray) {
        access.xraySetter();
    }
} // < Error here: Syntax error, insert "}" to complete ClassBody

谢谢你。

4

5 回答 5

3

代码应该包装在方法中,不应该直接在类体内。

于 2012-12-20T04:30:43.963 回答
3

您不能创建这样的课程。您的内部代码必须在方法内。

像这样:

public class Input { // start of class

  public Input() {  // start of constructor
    Setter access = new Setter(); // this could be outside the method

    // commandExc, fly and xray should be initialized somewhere
    if (commandExc == fly) {
        access.flySetter();
    }
    else if (commandExc == xray) {
        access.xraySetter();
    }
  } // end of constructor

} // end of class

构造函数是一种特殊的方法,您可以在其中放置代码来初始化类的实例。在这种情况下,我将代码放在类的构造函数中。但它可以在任何其他方法中。您必须检查在您的程序中什么更有意义。

在您学习 Java 时,我建议您查看此链接,特别是“Trails Covering the Basics”: http ://docs.oracle.com/javase/tutorial/

于 2012-12-20T04:30:45.803 回答
1
public class Input {

    Setter access = new Setter();

    public static void main(String args[]) {   //or any method
        if (commandExc == fly) {
            access.flySetter();
        }
        else if (commandExc == xray) {
            access.xraySetter();
        }
    }
} 
于 2012-12-20T04:33:21.400 回答
0

您应该将代码包装在一个方法中。就像下面这样:

public class Input {

  Setter access = new Setter();

  public static void main(String args[]){   //or any method
      if (commandExc == fly) {
          access.flySetter();
      }
      else if (commandExc == xray) {
          access.xraySetter();
      }
  }

} 
于 2012-12-20T05:16:42.127 回答
0

看起来您没有在方法中工作。尝试将代码放在main. Input例如:

public class Input {
  public static void main(String[] args) {
    Setter access = new Setter();

    if (commandExc == fly) {
        access.flySetter();
    }
    else if (commandExc == xray) {
        access.xraySetter();
    }
  }
}

如果这是一个对象,请将初始化部分access放入构造函数方法中。if/的位置else取决于所需的实现。

于 2012-12-20T04:33:32.560 回答