我想在java中制作组合计算器,但我很初学。我有一个班,它的名字是排列。我宣布了一个数组列表,但我无法上传内容。在程序运行之后,数组列表将为空。为什么?如何工作我的java程序? (ArrayList)
package combinatorics;
import java.util.*;
public class Permutation {
private int num;
protected ArrayList<Integer> szamok = new ArrayList<Integer>();
public Permutation(int number) {
this.num = number;
}
protected void makeArrayList() {
for (int i = 1; i < this.num+1; i++) {
this.szamok.add(i);
}
}
}
这是我的主要方法:
public static void main(String[] args) {
Permutation perm = new Permutation(5);
perm.getNumbers();
}
您永远不会调用'makeArrayList()',并且由于它是私有的,所以类外部没有人可以调用它。更糟糕的是,构造函数也是私有的。 – Compass
构造函数不是私有的。 :D我意外改变了。但是如果构造函数不是私有的,那么数组列表也将是空的。 – Kovoliver
@Kovoliver你错过了一点 - “makeArrayList()”是私有的事实也是一个问题。它永远不会被调用,所以当然你的ArrayList总是空的。公开构造函数并不会帮助你解决这个问题。另外,请编辑您的问题以显示您实际使用此课程的位置,因为这对于回答此问题非常重要。 – EJoshuaS