这是我写的一个特殊方法:
class A {
    private static ArrayList<ArrayList<Integer>> inputTerms = 
                                              new ArrayList<ArrayList<Integer>();
    public static void method1(ArrayList<Integer> terms) {
        int N = terms.size();
        for (int i = 0; i < N - 1; i++) {
            for (int j = i + 1; j < N; j++) {
                ArrayList<Integer> clauses = new ArrayList<Integer>();
                clauses.add(-terms.get(i));
                clauses.add(-terms.get(j));
                inputTerms.add(clauses);
            }
        }
    }
}
在我的主要功能中,我有以下代码:
for (int i=0; i<N-1; i++){ 
   ArrayList<Integer> firstdiagonalTerms = new ArrayList<Integer>(); 
   for (int j=0; j<N-i; j++){ 
      firstdiagonalTerms.add(variable[j][i+j]); 
   } 
   method1(firstdiagonalTerms);
} 
我的主函数中有 4 个这样的双 for 循环,我在其中调用 method1 进行不同的迭代。然而,虽然第一个 for 循环给出了适当的答案,但当我在第二个 for 循环中声明一个 ArrayList 时,我的 inputTerns 变量被设置为 null。我该如何克服这个?