当前位置: 首页 > 面试题库 >

Eclipse错误:“编辑器不包含主类型”

淳于煌
2023-03-14
问题内容

我似乎无法在Eclipse中运行以下代码。我有一个主要方法,这是当前打开的文件。我什至尝试了“运行方式”选项,但始终收到此错误:“编辑器不包含主类型”。我在这里做错了什么?

 public class cfiltering {

    /**
     * @param args
     */

    //remember this is just a reference
    //this is a 2d matrix i.e. user*movie
    private static int user_movie_matrix[][];

    //remember this is just a reference
    //this is a 2d matrix i.e. user*user and contains
    //the similarity score for every pair of users.
    private float user_user_matrix[][];


    public cfiltering()
    {
        //this is default constructor, which just creates the following:
        //ofcourse you need to overload the constructor so that it takes in the dimensions

        //this is 2d matrix of size 1*1
        user_movie_matrix=new int[1][1];
        //this is 2d matrix of size 1*1
        user_user_matrix=new float[1][1];
    }

    public cfiltering(int height, int width)
    {
        user_movie_matrix=new int[height][width];
        user_user_matrix=new float[height][height];
    }


    public static void main(String[] args) {
        //1.0 this is where you open/read file
        //2.0 read dimensions of number of users and number of movies
        //3.0 create a 2d matrix i.e. user_movie_matrix with the above dimensions. 
        //4.0 you are welcome to overload constructors i.e. create new ones. 
        //5.0 create a function called calculate_similarity_score 
        //you are free to define the signature of the function
        //The above function calculates similarity score for every pair of users
        //6.0 create a new function that prints out the contents of user_user_matrix

        try
        {
            //fileinputstream just reads in raw bytes. 
            FileInputStream fstream = new FileInputStream("inputfile.txt");

            //because fstream is just bytes, and what we really need is characters, we need
            //to convert the bytes into characters. This is done by InputStreamReader. 
            BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
            int numberOfUsers=Integer.parseInt(br.readLine());
            int numberOfMovies=Integer.parseInt(br.readLine());

            //Now you have numberOfUsers and numberOfMovies to create your first object. 
            //this object will initialize the user_movie_matrix and user_user_matrix.

            new cfiltering(numberOfUsers, numberOfMovies);

            //this is a blankline being read
            br.readLine();
            String row;
            int userNo = 0;
            while ((row = br.readLine()) != null)   
            {
                //now lets read the matrix from the file
                String allRatings[]=row.split(" ");
                int movieNo = 0;
                for (String singleRating:allRatings)
                {
                    int rating=Integer.parseInt(singleRating);
                    //now you can start populating your user_movie_matrix
                    System.out.println(rating);
                    user_movie_matrix[userNo][movieNo]=rating;
                    ++ movieNo;
                }
                ++ userNo;
            }
        }
        catch(Exception e)
        {
            System.out.print(e.getMessage());
        }
    }

}

问题答案:

尝试关闭并重新打开文件,然后按Ctrl+F11

确认正在运行的文件的名称与您正在处理的项目的名称相同,并且该文件中的公共类的名称也与您正在处理的项目的名称相同。

否则,请重新启动Eclipse。让我知道这是否解决了问题!否则,请发表评论,我会尽力提供帮助。



 类似资料:
  • null 在尝试用Eclipse作为Java应用程序运行时,有人建议我应该做什么?

  • 所以我在Android上做这个蓝牙项目,当我试图运行它(当然是在Android设备上)时,它给了我一条错误消息 我还是蓝牙的初学者。

  • 我试图在一个新项目中运行一些java文件。所以我做了一个项目,把文件放在里面,我试着运行主文件,这样我的游戏就开始了。 null 我很确定它一定有效,因为我几个小时前在学校运行过它。我怎么让它工作?提前感谢!

  • 问题内容: 我在jsp文件中出现错误(在X行上),但这似乎都是正确的。 会是什么呢?是否在任何地方使用ServletException或javax.servlet.http? 问题答案: 对于第一个错误(),您需要将文件放入`classpath: 为此,请按照下列步骤操作: 右键单击该项目。 单击构建路径->配置构建路径 在库选项卡中->单击添加外部jar 选择档案 对于第二个错误:( ): 右键

  • 我在做家庭作业。我们得到了一系列文件,说明中的第一步说,我需要运行我们得到的Java文件之一,它充当测试文件。 这是文件,

  • 问题内容: 我是Java和Eclipse的新手。我在Google上寻求了很多帮助,但仍然感到困惑。在Eclipse中,我单击运行,然后选择Java应用程序,我立即收到此错误。这是我的源代码: 问题答案: 您不能像在C ++中那样定义main方法。 对于Java解释器,main方法必须始终是public和static。因此,您需要将主方法签名更改为 试试这个,随时问更多。:-)