一看就知道
public void display(){
int cur;
for(cur = 0; cur < nElem; cur++){//这里的nElem是为零,怎么去输出内容呢???
System.out.println(a[cur]);
}
}
public void display(){
int cur;
for(cur = 0; cur < nElem; cur++){//这里的nElem是为零,怎么去输出内容呢???
System.out.println(a[cur]);
}
}
this.nElem=nElem;
a = new int[nElem];
}
public HighArray(int nElem){
a = new int[nElem];
}
它的构造需要一个整形数据但是在 main 函数中
public static void main(String[] args) {
int[] rint = new RandomInt(20).getRandInt();//产生一个20元素的int数组; HighArray highArr = new HighArray(rint);
highArr.display();//调用此方法,怎么不会显示数组a内的元素??
}
给的是 rint,它是一个 int[],类型不同,应该编译通不过才对啊!
private int[] a;
private int nElem;
public HighArray(int nElem){
a = new int[nElem];
}
public HighArray(int[] arr){
this(arr.length);
int cur;
for(cur = 0; cur < arr.length; cur++){
a[cur] = arr[cur];
System.out.println(a[cur]);//问题:这里可以显示数组a内的元素!
}
}
public void display(){
int cur;
for(cur = 0; cur < nElem; cur++){
System.out.println(a[cur]);
}
}
public static void main(String[] args) {
int[] rint = new RandomInt(20).getRandInt();//产生一个20元素的int数组; HighArray highArr = new HighArray(rint);
highArr.display();//调用此方法,怎么不会显示数组a内的元素??
}
}class RandomInt {
private int length;
private int[] data;
public RandomInt(int n) {
length = n;
}
public int[] getRandInt() {
if (data == null) {
data = new int[length];
java.util.Random random = new java.util.Random();
for (int i = 0; i < length; i++) {
data[i] = random.nextInt(Integer.MAX_VALUE);
}
}
return data;
}
}