类型为Java的方法未定义

时间:2016-02-24 18:29:12

标签: java types undefined classification weka

找出我在这个问题上出错的地方真的很麻烦。在java中使用WEKA构建一个系统来研究关联,并尝试实现Apriori算法。目前这是代码:

package model;

import weka.associations.*;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;

public class Apriori {

public static void main(String args[]) throws Exception {
    String dataset = "/Users/andrew/workspace/Movies/src/data/tagsfinal.arff";
    DataSource dsource = new DataSource(dataset);
    Instances dapriori = dsource.getDataSet();


    Apriori apriori = new Apriori();
     apriori.buildAssociations(dapriori);

    System.out.println(apriori);
  }
}

通过查看网络上的几个实现,这似乎是一种广泛接受的方法,但是我收到了关于" apriori.buildAssociations"线告诉我Apriori类型的方法是未定义的。此外,我用于关联的import语句仅用作包类型,并且在尝试将其扩展为:

import weka.associations.Apriori;

这会抛出一条错误消息"导入weka.associations.Apriori与同一文件中定义的类型冲突"。我已经将StackOverflow与其他资源一起进行了搜索,并意识到存在许多类型未定义的问题,但是还没有找到解决这个问题的方法。任何帮助/指针将不胜感激。

1 个答案:

答案 0 :(得分:2)

您的课程也被命名为Apriori,因此您遇到了名称冲突。

您应该将自己班级的名称更改为其他名称(例如AprioriTest)。在你不太可能需要将你的类命名为Apriori的情况下,你必须通过它的全名来引用库的实现:

weka.associations.Apriori apriori = new weka.associations.Apriori();
apriori.buildAssociations(dapriori);