NullPointerException при добавлении ограничения с choco на затмение
У меня возникли проблемы с использованием choco на затмении, я попытался добавить ограничение, и я получил исключение nullPointerException, кто-нибудь может мне объяснить?
public static void main(String[] args )
{
int n=8;
CPModel m=new CPModel();
IntegerVariable[] cells = new IntegerVariable[n+1];
for(int i = 1; i < 9; i++){
cells[i] = Choco.makeIntVar("x"+i, 1, 8);
m.addVariables(cells[i]);
}
IntegerVariable x = new IntegerVariable("X", 1, 8);
IntegerVariable y = new IntegerVariable("Y", 1, 8);
ComponentConstraint[] rows = new ComponentConstraint[n];
for(int i = 0; i < n; i++){
rows[i] =(ComponentConstraint) Choco.allDifferent(cells[i]);
m.addConstraints((choco.kernel.model.constraints.Constraint[]) rows);
}
System.out.println(m.pretty());
CPSolver s = new CPSolver();
//read the model
s.read(m);
//solve the problem
s.solve();
for(int i = 0; i < n; i++){
System.out.print(s.getVar(cells[i]).getVal()+" ");
}
System.out.println();
}
Следующая инструкция является источником исключения NullPointer:
m.addConstraints((choco.kernel.model.constraints.Constraint[]) rows);
Код ошибки:
Исключение в потоке "main" java.lang.NullPointerException в choco.kernel.common.util.tools.ArrayUtils.getNonRedundantObjects(ArrayUtils.java:343) в choco.kernel.model.VariableArray.doExtractVariables(VariableArray.java:10 choco.kernel.model.VariableArray.extractVariables(VariableArray.java:123) в choco.kernel.model.VariableArray.getVariableIterator(VariableArray.java:72) в choco.cp.model.CPModel.addConstraints(CPModel.j:: в choco.cp.model.CPModel.addConstraints(CPModel.java:853) в Games.main(Games.java:27)