HashSet将空值输出到控制台

时间:2017-06-07 06:38:09

标签: java hash set nlp

为什么这个名词正在打印一个空白[]?我做错了哪里?我从这个网站(Woriking code exaple)获得了一个有效的代码,它运行正常。但我的代码不起作用。我无法将我的名词打印到控制台。它在我的控制台中打印了几个[]。

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.HashSet;
import java.util.Set;

import com.sun.corba.se.impl.orb.ParserAction;

import opennlp.tools.cmdline.parser.ParserTool;
import opennlp.tools.parser.Parse;
import opennlp.tools.parser.Parser;
import opennlp.tools.parser.ParserFactory;
import opennlp.tools.parser.ParserModel;

public class ParserTest {



    public static Set<String> nounPhrases = new HashSet<>();

        public String line="i need a java book";


    public void getNounPhrases(Parse p) {
        if (p.getType().equals("NN") || p.getType().equals("NNS") || p.getType().equals("NNP")
                || p.getType().equals("NNPS")) {
            nounPhrases.add(p.getCoveredText());
            // System.out.println(p.getCoveredText());
        }

        for (Parse child : p.getChildren()) {
            getNounPhrases(child);

        }
    }

    public void parserAction() throws Exception {
        InputStream is = new FileInputStream("en-parser-chunking.bin");
        ParserModel model = new ParserModel(is);
        Parser parser = ParserFactory.create(model);
        Parse topParses[] = ParserTool.parseLine(line, parser, 1);
        for (Parse p : topParses) {
            // p.show();
            getNounPhrases(p);
        }
    }


    public void showNouns() {

        try {
            new ParserTest().parserAction();
            System.out.println("these are nouns"+nounPhrases);
        } catch (Exception e) {

            e.printStackTrace();
        }

        System.out.println("these are nouns"+nounPhrases);
    }


}

当我将main方法添加到类中时..它工作正常

public static void main(String[] args) throws Exception {
      new ParserTest().parserAction();
      System.out.println("List of Noun Parse : "+nounPhrases);

0 个答案:

没有答案