尝试编写一个程序来为我计算GPA,当我尝试运行原型时,我一直收到这条消息:
java.lang.NoSuchMethodError: main
Exception in thread "main"
以下是代码:
包橙;
import java.util.Scanner;
public class plums{
String philosophy, econ, french, fye, marine, stats;
public void main(String args[]){
Scanner gpa = new Scanner(System.in);
System.out.println("Philosophy Grade: ");
philosophy = gpa.nextLine();
System.out.println("Econ grade: ");
econ = gpa.nextLine();
System.out.println("French Grade: ");
french = gpa.nextLine();
System.out.println("FYE Grade: ");
fye = gpa.nextLine();
System.out.println("Marine grade: ");
marine = gpa.nextLine();
System.out.println("STATs Grade: ");
stats = gpa.nextLine();
}
public void main(double[] args) {
gpa philGrade = new gpa(4);
if (philosophy.equals("a") )
gpa.philGrade = 4;
else if (philosophy.equals("a-"))
gpa.philGrade = 3.7;
else if (philosophy.equals("b+"))
gpa.philGrade = 3.3;
else if (philosophy.equals("b"))
gpa.philGrade = 3;
else if (philosophy.equals("b-"))
gpa.philGrade = 2.7;
else if (philosophy.equals("c+"))
gpa.philGrade = 2.3;
else if (philosophy.equals("c"))
gpa.philGrade = 2;
else if (philosophy.equals("c-"))
gpa.philGrade = 1.7;
else if (philosophy.equals("d+"))
gpa.philGrade = 1.3;
else if (philosophy.equals("d"))
gpa.philGrade = 1;
else if (philosophy.equals("d-"))
gpa.philGrade = .7;
else if (philosophy.equals("f"))
gpa.philGrade = 0;
else
System.out.println("y u do dis??");
这是一个班级,这是另一个班级:
package orange;
public class gpa {
public static double philGrade;
public gpa(double grade1){
philGrade=grade1;
}
public void lines(){
System.out.println(gpa.philGrade);
}
}
答案 0 :(得分:1)
您的main
方法必须声明为公共静态。
声明主要方法:
public static void main (String [] args)
main
方法在从外部调用时被声明为 public ,即由JVM调用。
并且它被声明为 static ,因为它在类的对象实例化之前被调用(它是代码执行的第一个点。)
答案 1 :(得分:0)
public static void main(String args[]){
...
}
您缺少static
答案 2 :(得分:0)
将main方法设为静态,如下所示。
public static void main(String args[]){
答案 3 :(得分:0)
public static void main(String[] args)
是任何Java程序的入口点。执行java文件时,JVM会查找此方法以开始执行。在您的情况下,它无法找到它,因此它会引发java.lang.NoSuchMethodError: main
错误。
解决方案:
为您的方法添加了static
修饰符:public void main(String args[])