我正在尝试打印数组,我想我的所有代码都是正确的,不知道为什么我得到的结果如下... 我的代码是
public class App {
public static void main(String[] args) {
int[] array = new int[8];
for (int i = 0; i< array.length; i++){
array[i] = i;
System.out.print("| " + array + " ");
}
System.out.println(" ");
}
}
但我打印的结果如下,为什么?
| [我@ 15db9742 | [我@ 15db9742 | [我@ 15db9742 | [我@ 15db9742 | [我@ 15db9742 | [我@ 15db9742 | [我@ 15db9742 | [我@ 15db9742
答案 0 :(得分:6)
这是因为
System.out.print("| " + array + " ");
是
的简写 System.out.print("| " + array.toString() + " ");
并且toString()
方法不会打印单个元素(如果它确实可以放弃大型数组,那么聪明的Java人员决定将其委托给Arrays.toString(array)
)。
在这种情况下你需要的是
System.out.print("| " + array[i] + " ");
答案 1 :(得分:0)
您正在获取 @ 15db9742 ,即数组对象的哈希码。
尝试:
array
或一次打印
Collection
答案 2 :(得分:0)
它的打印完全按照您的指示进行打印,您期望输出什么?
原始数组等中有哪些值?
尝试打印所选的数组项而不是整个数组。
public static void main(String [] args){ int [] array = new int [8];
for (int i = 0; i< array.length; i++){
var item = array[i];
System.out.print("| " + item + " ");
}
System.out.println(" ");