Eclipse d'erreur: “l'Éditeur ne contient pas l'un des principaux type”

Je n'arrive pas à exécuter le code suivant dans Eclipse. J'ai une méthode main et c'est le fichier actuellement ouvert. J'ai même essayé de la "Exécuter en tant Que" option, mais je reçois ce message d'erreur: "l'éditeur n'a pas à contenir un type principal". Ce que je fais mal ici?

 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());
}
}
}
  • Quel est le nom du fichier contenant ce code?
  • cfiltering.java
  • Je pense que c'est une question tout à fait pertinente. En fait, j'ai couru dans cela et compris mon problème: j'ai créé une classe (à tort) sous le dossier source: src/main/test, et eclipse ne pouvais pas accepter ça. Quand j'ai créé correctement sous src/test/java, ce message d'erreur a disparu.
InformationsquelleAutor JJJ | 2012-01-29