数组项显示不正确
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;
}
我正在尝试编写一个程序来练习一些基本的 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;
}