嗨,大家现在我在学校采取数据结构,我无法理解代码,我们的作业基于哪些是由老师创建的。关于java分配方法的困惑
基本上它的一个程序设计用来存储整数,并根据它们的正数,负数和跟踪天气或不是整数的最后一个条目来设置它们。我们有一个类创建一个新的数组,并存储传递给它的任何int。我们也有一个插入方法,只有当它不在那里时才将int插入到集合中。继承人的代码:
public IntColl1(int i){
c = new int[i+1];
c[0] = 0;
}
public void insert(int i){
if (i > 0){
int j = 0;
while ((c[j] != 0) && (c[j] != i)) j++;
if (c[j] == 0){
if (j == c.length - 1){
int newLength = (c.length * 2);
int[] d = new int[newLength];
for(int l = 0; l < c.length; l++){
d[l] = c[l];
}
c = d;
}
c[j] = i;
c[j + 1] = 0;
}
}
}
它应该在INT插入阵列和如果数组太小,它创建一个新的具有双长度。为了测试,我们设置了Intcoll1(1),任何人都可以通过解释第一个if语句中的while循环来提供帮助吗?我一直认为,当一个空数组被创建时,slot都被设置为0,并且如果那样的话那么while循环总是假的?
对不起!这是我的第一个问题,所以还是习惯了 – 10marcer