在类中找不到 main(String\[\]) 方法:TapeDeck。主要方法在运行程序的另一个类中

新手上路,请多包涵

我有两个班级。当我将 TapeDeckTestDrive 类放在文本编辑器的第一位时,它运行良好。当我把 TestDrive 类放在第一位时,它给出了找不到主类的错误。为什么是这样?

 class TapeDeck {
    boolean canRecord = false;
    void playTape(){
        System.out.println("tape playing");
    }
    void recordTape(){
        System.out.println("tape recording");
    }
}

class TapeDeckcTestDrive{
    public static void main(String[] args){
        TapeDeck t = new TapeDeck();
        t.canRecord = true;
        t.playTape();

        if (t.canRecord == true) {
            t.recordTape();
        }
    }
}

此格式错误

VS

以下工作正常:

 class TapeDeckcTestDrive{
    public static void main(String[] args){
        TapeDeck t = new TapeDeck();
        t.canRecord = true;
        t.playTape();

        if (t.canRecord == true) {
            t.recordTape();
        }
    }
}

class TapeDeck {
    boolean canRecord = false;
    void playTape(){
        System.out.println("tape playing");
    }
    void recordTape(){
        System.out.println("tape recording");
    }
}

原文由 Abdul Hussain 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 471
2 个回答

使用命令编译代码后:

 javac fileName.java

通过仅指定 fileName 而不指定 --- .java 扩展名来运行 java .class 文件

java fileName

如果您使用 fileName.java 它不会运行特定的 .class 文件;它将尝试解释 .java 文件。如果要解释 .java 文件,则父类必须包含 main(String[]) 方法。

原文由 user12948049 发布,翻译遵循 CC BY-SA 4.0 许可协议

首先,您必须使用 javac 编译文件。然后,您必须运行该文件。

写入 main 的类名。

 javac filename.java
java classname

原文由 Surya Mathur 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题