我正在研究连接Prolog和Java GUI的程序。我遇到了这个问题,我不知道prolog程序将传递给java多少解决方案,因此我不能声明具有固定长度的String数组。这是我的代码:
String[] options; int i;
Query qMeat = new Query(new Compound("meat", new Term[] {new Variable("X")}));
i = 0;
while(qMeat.hasMoreSolution()){
options[i] = "" + qMeat.nextSolution().get("X");
i++;
}
我得到这个NullPointerException,我猜是因为我没有将String数组初始化为null。而且我不知道该怎么做。我试过java.util.Arrays.fill(options,"")
但没有帮助=(
请帮忙。
答案 0 :(得分:4)
如果您事先不知道所需的数组大小,则应使用ArrayList。
List<String> options = new ArrayList<>();
while(qMeat.hasMoreSolution()){
options.add("" + qMeat.nextSolution().get("X"));
}