我的代码中有一个十点阵列,用户输入。
for (int i = 0; i < arraya.length; i++){
arraya[i] = scan.nextInt();
}
进入后
2, 4, 53, 2, 3, 46, 45, 5, 4, 3
打印的数组为
[I@86b012
我该如何解决这个问题?
答案 0 :(得分:2)
你可能正在打印像
这样的数组 System.out.print(arraya);
内部调用arraya.toString()
并提供[I@86b012
。
[I
- 是一个班级名称[
- 一维数组@
- 将字符串连接在一起86b012
- 对象的哈希码你必须这样做
for (int i = 0; i < arraya.length; i++){
System.out.print(arraya[i]+" ");
}
或
System.out.println(java.util.Arrays.toString(arraya));
答案 1 :(得分:0)
每个java对象都有一个toString()方法,默认方法是显示对象的类名表示,然后&#34; @&#34;其后是哈希码。您所看到的是int数组的默认toString()表示形式。要打印数组中的实际数据,您可以:
System.out.println(java.util.Arrays.toString(arraya));
或者您可以像其他人建议的那样循环播放数组