刚开始学习Java,我似乎无法理解为什么收到以下错误消息:
错误:在Main类中未找到Main方法,请将main方法定义为: 公共静态void main(String [] args) 或JavaFX应用程序类必须扩展javafx.application.Application 退出状态1
我正在尝试编写可回答以下问题的代码:
如果它是工作日,则参数weekday为true,如果我们在假期,则参数Vacation为true。如果不是工作日或正在休假,我们会入睡。如果我们入睡,则返回true。
sleepIn(false,false)→是 sleepIn(true,false)→否 sleepIn(false,true)→true
我的代码是:
public class Main {
public boolean sleepIn(boolean weekday, boolean vacation) {
{ return (!weekday || vacation); }
} }
我将代码更新为以下内容:
public class Main {
public static void main(String[] args){
public boolean sleepIn(boolean weekday, boolean vacation)
}
{ return (!weekday || vacation); }
}
但现在请执行以下错误消息:
Main.java:3: error: illegal start of expression
public boolean sleepIn(boolean weekday, boolean vacation)
^
Main.java:3: error: ';' expected
public boolean sleepIn(boolean weekday, boolean vacation)
^
Main.java:3: error: <identifier> expected
public boolean sleepIn(boolean weekday, boolean vacation)
^
Main.java:3: error: not a statement
public boolean sleepIn(boolean weekday, boolean vacation)
^
Main.java:3: error: ';' expected
public boolean sleepIn(boolean weekday, boolean vacation)
^
5 errors
compiler exit status 1
我不知道是什么导致了错误
答案 0 :(得分:0)
public class Main {
public boolean sleepIn(boolean weekday, boolean vacation) {
return (!weekday || vacation);
}
}
在上面的代码中,您有一个Main类和一个sleepIn方法。但是您尚未创建一个主要函数,该函数是您调用sleepIn方法的Java程序的起点。
错误:在Main类中未找到Main方法,请将main方法定义为:public static void main(String [] args)
如上所示的错误,您需要使用错误中提到的默认定义定义一个main方法。
public class Main {
public boolean sleepIn(boolean weekday, boolean vacation) {
return (!weekday || vacation);
}
public static void main(String[] args) {
Main m = new Main();
System.out.println(m.sleepIn(false, false));
System.out.println(m.sleepIn(true, false));
System.out.println(m.sleepIn(false, true));
}
}
在main方法中,您将为Main类创建对象,并使用参数调用sleepIn方法,并使用System.out.println方法打印返回的值。
或者,您可以将sleepIn方法作为静态方法编写如下代码,在这种情况下,您不必为Main类创建对象,而可以在main方法中直接调用静态方法。
public class Main {
public static boolean sleepIn(boolean weekday, boolean vacation) {
return (!weekday || vacation);
}
public static void main(String[] args) {
System.out.println(Main.sleepIn(false, false));
System.out.println(Main.sleepIn(true, false));
System.out.println(Main.sleepIn(false, true));
}
}
答案 1 :(得分:0)
您的第一个错误是因为您没有main方法,这意味着无法执行任何操作。
public static void main(String[] args) {
// code
}
这将被执行,但是由于其中还没有代码(因此),因此不会产生任何输出。
您的下一个问题在这里:
public class Main {
public static void main(String[] args){
public boolean sleepIn(boolean weekday, boolean vacation)
}
{ return (!weekday || vacation); }
}
您必须从主方法调用sleepIn方法,但是不能在主方法中声明它。方法应始终在类或接口级别上声明。
public class Main{
public boolean sleepIn(boolean weekday, boolean vacation) {
return !weekday || vacation;
}
public static void main(String[] args) {
Main m = new Main();
System.out.println("Sleep in: " + m.sleepIn(false, false);
}
}