下面引用的 Java 类使用三个数值。我想从命令行调用这个类,每次通过 args 变量传递不同的值。但是当我这样做时,我得到一个“从内部类中访问变量 'args'”Java 错误。实现我的目标最有效的方法是什么(如果有的话)?
class UserBaseRecommenderEvaluation {
private UserBaseRecommenderEvaluation() {}
public static void main(String[] args) throws Exception {
DataModel model = new FileDataModel(new File("/home/eualin/Downloads/ml-100k/final.data"));
RecommenderBuilder builder = new RecommenderBuilder() {
@Override
public Recommender buildRecommender(DataModel model) throws TasteException {
UserSimilarity similarity = new LogLikelihoodSimilarity(model);
UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);
return new GenericUserBasedRecommender(model, neighborhood, similarity);
}
};
RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator();
IRStatistics stats = evaluator.evaluate(builder,
null,
model,
null,
1,
GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD,
1);
}
}
更新:作为进一步的步骤,我怎样才能使上述函数在为每个参数分配不同值的 for 循环中工作?在这种情况下,请记住,还需要处理错误处理,否则执行将意外终止,因为某些组合将不“合适”。