java - Dr. Java 中的多个类

标签 java compiler-errors drjava

JDK 编译器说它可以编译,但是当它运行时我收到此错误:

Static Error: This class does not have a static void main method accepting String[].

我习惯将方法类放在一个文件中,并将主类放在一个单独的文件中。

我该如何解决这个问题?

    import java.util.Scanner;

public class Test{
  private final int classSize = 35;
  private int numEnrolled, numNeeded; 

  public void Input(){
   Scanner in = new Scanner(System.in);
   System.out.println("Enter the amount enrolled in your class");
   numEnrolled = in.nextInt();
   System.out.println("Your input is " + numEnrolled);       

   // Other parts of code that needs to be coded 
  }
}

class testRunner{
  static void main(String args[]){
    Test newTest = new Test();
    newTest.Input();

 }}

最佳答案

  • 在一个文件中只能有一个公共(public)类,并且可以有多个 非公开类(class)
  • 您的文件名必须与唯一公开的文件名匹配 类
  • 为了使你的类可以运行,它应该包含一个公共(public)静态 void main(String args[]) 方法,最好在公共(public)类中

您的 TestRunner.java 应该如下所示

class Test{
    private final int classSize = 35;
    private int numEnrolled, numNeeded;

    public void Input(){
        Scanner in = new Scanner(System.in);
        System.out.println("Enter the amount enrolled in your class");
        numEnrolled = in.nextInt();
        System.out.println("Your input is " + numEnrolled);

        // Other parts of code that needs to be coded
    }
}

public class TestRunner{
    public static void main(String args[]){
        Test newTest = new Test();
        newTest.Input();

    }}

编辑: 如果您想保留文件名 Test.java,这也可以:

public class Test {
    private final int classSize = 35;
    private int numEnrolled, numNeeded;

    public void Input() {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter the amount enrolled in your class");
        numEnrolled = in.nextInt();
        System.out.println("Your input is " + numEnrolled);

        // Other parts of code that needs to be coded
    }
}

class TestRunner {
    public static void main(String args[]) {
        Test newTest = new Test();
        newTest.Input();

    }
}

关于java - Dr. Java 中的多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53752676/

相关文章:

iphone - libFlurryAnalytics.a错误

java - 如何解决 Caused by : java. lang.ClassNotFoundException : javax. xml.bind.JAXBException migrating to Java 11(Openjdk-11.0.1)

java - 按优先级和时间进行多字段排序的队列

compiler-errors - lex {lineo++;}中无法识别的规则错误

Java-使用方法

Java字符串字符分析

java - 方法中的参数和参数存在问题

java - SQLite select、join 和 where 子句问题

java - HttpSession-s 之间共享的 Spring session bean

compiler-errors - Calabash-ios 链接错误 : "_kSecAttrSynchronizableAny", 引用自 : -[LPSSKeychainQuery query] in calabash(LPSSKeychainQuery. o)