繁体   English   中英

java.lang.NoSuchMethodException: main [class [Ljava.lang.String;]

[英]java.lang.NoSuchMethodException: main [class [Ljava.lang.String;]

当我仔细按照给我的模块时,我不知道下面的代码有什么问题。 请教我为什么我会收到这个错误。 我完全是 java 的新手,而我的教授没有回复我。

 public class Member{ String name; int age; String number; String address; int salary; public void printSalary(){ System.out.println(salary); } } class Employee extends Member{ String specialization; } class Manager extends Member{ String department; } class Ans{ public static void main(String[] args){ Employee e = new Employee(); e.name = "Lado"; e.age = 21; e.number = "0919467670"; e.address = "Tunasan"; e.salary = 10000; e.specialization = "Computer Coding"; Manager m = new Manager(); m.name = "Lala"; m.age = 23; m.number = "09216t767"; m.address = "Tunasan"; m.salary = 0; m.department = "CITS Office"; }

// Remove "public"
 class Member{
  String name;
  int age;
  String number;
  String address;
  int salary;

  public void printSalary(){
    System.out.println(salary);
  }

}

class Employee extends Member{
  String specialization;
}

class Manager extends Member{
  String department;
}

// Add "public", don't forget that the name of this java file must be "Ans.java"
public class Ans{
  public static void main(String[] args){
    Employee e = new Employee();
    e.name = "Lado";
    e.age = 21;
    e.number = "0919467670";
    e.address = "Tunasan";
    e.salary = 10000;
    e.specialization = "Computer Coding";

    Manager m = new Manager();
    m.name = "Lala";
    m.age = 23;
    m.number = "09216t767";
    m.address = "Tunasan";
    m.salary = 0;
    m.department = "CITS Office";
  }

您需要将main方法放在公共 class 中,否则将不会被拾取。 由于每个文件(编译单元)只能有一个公共 class,因此您必须将Member设为不公开或将其移动到另一个文件:

class Member{
    String name;
    int age;
    String number;
    String address;
    int salary;

    public void printSalary(){
        System.out.println(salary);
    }

}

class Employee extends Member{
    String specialization;
}

class Manager extends Member{
    String department;
}

public class Ans{
    public static void main(String[] args){
        Employee e = new Employee();
        e.name = "Lado";
        e.age = 21;
        e.number = "0919467670";
        e.address = "Tunasan";
        e.salary = 10000;
        e.specialization = "Computer Coding";

        Manager m = new Manager();
        m.name = "Lala";
        m.age = 23;
        m.number = "09216t767";
        m.address = "Tunasan";
        m.salary = 0;
        m.department = "CITS Office";
   }

}

此外,.java 源文件的名称始终必须与公共 class 的名称匹配,因此必须在Ans.java中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM