一看就知道
public void display(){
        int cur;
        for(cur = 0; cur < nElem; cur++){//这里的nElem是为零,怎么去输出内容呢???
            System.out.println(a[cur]);
        }
    }

解决方案 »

  1.   

    public HighArray(int nElem){
            this.nElem=nElem;
            a = new int[nElem];
        }
      

  2.   

    highArr.display();//调用此方法,怎么不会显示数组a内的元素??函数里取不到nElem,当然不行咯。
      

  3.   

    我不知道是怎么编辑通过的,根据 HighArray 的定义
        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[],类型不同,应该编译通不过才对啊!
      

  4.   

    老兄,我估计是你的 RandomInt 的问题,你的 RandomInt 是怎么写的,我自己写了一个没有问题,可以打印出来的。刚才说是构造函数的问题是因为粗心,没看到有 int[] 参数的那个构造。public class HighArray {
        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;
        }
        
    }
      

  5.   

    楼上的老兄,jFresH_MaN(TM) ,YuLimin(阿敏总司令:人,是要靠自己的!简单就是美!)两位大哥说的很清楚了,你还在这里“误人子弟“,呵呵,你说你的那个能输出,你的输出是在构造函数里输出得,楼主说的是在display()函数里不能输出。