数组项显示不正确

Array items not displaying properly

我正在尝试编写一个程序来练习一些基本的 ADT 方法,如插入、追加等,但我的数组不会打印出写入项。我已经用 C++ 编写了它,我正试图在 java 中重做它。一切看起来都正确,但它只打印出 5 个零(因为数组的长度是 5)。这是代码,感谢您的帮助:

public class newADTClass {
    int length;
    int size;
    int[] Array;

    public newADTClass(int[] Array, int size, int length) {
        Array = new int[10];
        this.Array = Array;
        this.length = length;
        this.size = size;
    }

    void display(newADTClass arr) {
        int i;
        System.out.println("Elements are \n");
        for (i = 0; i < arr.length; i++) {
            System.out.printf("%d ", arr.Array[i]);
        }
    }

    public static void main(String[] args) {
        int[] arr1 = {2, 3, 4, 5, 6};
        newADTClass arr2 = new newADTClass(arr1, 10, 5);
        arr2.display(arr2);
    }
}

您将绝对新创建的数组对象分配给 this.Array 而不是 Array 参数。默认情况下 int[] 值为 0.

您正在构造函数中创建一个新的空白数组。如果从构造函数中删除 Array = new int [10];,则代码将正常工作。

public newADTClass(int[] Array, int size, int length) {
    this.Array = Array;
    this.length = length;
    this.size = size;
}