一些代码的问题

时间:2012-12-20 04:29:08

标签: java eclipse

我正在学习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

谢谢。

5 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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的过程中,我建议您查看此链接,特别是&#34; Trails Covering the Basics&#34;: http://docs.oracle.com/javase/tutorial/

答案 2 :(得分: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();
        }
    }
} 

答案 3 :(得分: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的位置取决于所需的实施方式。

答案 4 :(得分: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();
      }
  }

}