错误:在类 MovieDatabase 中找不到主要方法 [重复]

Posted

技术标签:

【中文标题】错误:在类 MovieDatabase 中找不到主要方法 [重复]【英文标题】:Error: Main method not found in class MovieDatabase [duplicate] 【发布时间】:2015-04-20 10:05:31 【问题描述】:

错误:在类 MovieDatabase 中找不到主要方法,请将主要方法定义为:public static void main(String[] args) 或 JavaFX 应用程序类必须扩展 javafx.application.Application

import java.io.FileInputStream;
import java.util.Scanner;
import java.util.Arrays;

public class MovieDatabase 
    private int[] analysis;

    //creating the contructor
    public MovieDatabase(String file)
        analysis = new int[2015];

        this.load(file);
    
        //uses the load(String file) method from downstairs to do all of the work


    public void  load(String file)
        Scanner theScanner = null;

        try
            //inputing the into the scanner
            theScanner = new Scanner(new FileInputStream(file));
        
        catch(Exception ex) 
            ex.printStackTrace();
        
        // as long as the scanner has another line 
        while(theScanner.hasNextLine())
        
            String Line = theScanner.nextLine();
            //make an array called split and allocated different elements based on a seperation of ##
            String split[] = Line.split("##");
            int year = Integer.valueOf(split[1]); 
            analysis[year] ++;
           

    

    //print out the array in the synchronous format
    public void print()
        System.out.printf("%1$-30s %2$10s %3$10s %4$10s ", "Year", "Occurances", "", "");
        //go through the array
        for (int i =0;i < analysis.length ;i++ ) 
            if(analysis[i] >0)
                for (int j =i;j < analysis.length ;i++ )
                    System.out.printf("%1$-30s %2$10s %3$10s %4$10s ", j, analysis[j], "", "");
                
               
        
    
 

如何修复此错误消息? 我读过其他类似的问题,但只是说要公开课程。我的是公开的。

【问题讨论】:

【参考方案1】:

这是因为你忘了添加 main 方法。错误清楚地表明:

请将main方法定义为:public static void main(String[] 参数)

所以添加主:

public static void main(String[] args) 
    MovieDatabase m = new MovieDatabase("Your File Path");
    m.print();

【讨论】:

【参考方案2】:

要调用任何应用程序 JVM 需要 main() 方法,并且应该具有以下访问说明符和修饰符,

public static void main(String args[])

public - 所有人都应该可以访问它静态 - JVM 无法创建您的类的实例,因此方法应该是 staticvoid - 方法不返回任何东西

对于每个 java 应用程序的 main 方法都是入口点,因此您的应用程序应该至少有一个 main 方法来开始执行应用程序。

【讨论】:

【参考方案3】:

Java 中的main() 方法是一种标准方法,JVM 使用它来开始执行任何Java 程序。 main 方法被称为 Java 应用程序的入口点,这在核心 Java 应用程序的情况下是正确的

你错过了。添加以下main()方法

public static void main(String[] args) 
    MovieDatabase db = new MovieDatabase("file/path/goes/here");
    db.print();

在 Java 编程语言中,每个应用程序都必须包含一个 main 方法的签名是:

public static void main(String[] args)

【讨论】:

【参考方案4】:

正如错误所暗示的,如果它的非 FX 项目,只需定义如下内容:

public static void main(String args[]) 
    ...

或者更改您的类定义,使其扩展应用程序,例如:

public class MovieDatabase extends Application

【讨论】:

以上是关于错误:在类 MovieDatabase 中找不到主要方法 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

TestNG 错误在类路径中找不到类

java中找不到主类是啥问题

Spring Boot + Kotlin + Gradle - 错误:在类中找不到主要方法

错误:org.testng.TestNGException:在类路径中找不到类:EmpClass

macos 致命错误: 在类路径或引导类路径中找不到程序包 java.lang

Java-在类中找不到主要方法