错误:类MovieDatabase中找不到主要方法

时间:2015-02-19 06:32:10

标签: java methods main

错误:在MovieDatabase类中找不到主方法,请将main方法定义为: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], "", "");
                }
            }   
        }
    }
} 

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

4 个答案:

答案 0 :(得分:1)

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编程语言中,每个应用程序都必须包含一个   签名为:

的主要方法
public static void main(String[] args)

答案 1 :(得分:0)

正如错误所示,如果它的非FX项目,只需定义类似的东西:

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

或者改变你的类定义,以便它扩展Application,例如:

public class MovieDatabase extends Application

答案 2 :(得分:0)

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

public static void main(String args[])

公开 - 所有人都应该可以访问 静态 - JVM无法创建类的实例,因此方法应为static
void - 方法不返回任何内容

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

答案 3 :(得分:0)

这是因为您忘记添加主要方法。错误清楚地表明:

  

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

所以添加主要:

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