我正在学习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
谢谢。
答案 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();
}
}
}