用户输入的数组的内容不是输入的内容

时间:2015-03-29 17:34:37

标签: java arrays

我的代码中有一个十点阵列,用户输入。

for (int i = 0; i < arraya.length; i++){
     arraya[i] = scan.nextInt();
}

进入后

2, 4, 53, 2, 3, 46, 45, 5, 4, 3

打印的数组为

[I@86b012

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

你可能正在打印像

这样的数组

System.out.print(arraya);内部调用arraya.toString()并提供[I@86b012

  • [I - 是一个班级名称
  • [ - 一维数组
  • @ - 将字符串连接在一起
  • 86b012 - 对象的哈希码

Source

你必须这样做

for (int i = 0; i < arraya.length; i++){
     System.out.print(arraya[i]+" ");
}

System.out.println(java.util.Arrays.toString(arraya)); 

Demo

答案 1 :(得分:0)

每个java对象都有一个toString()方法,默认方法是显示对象的类名表示,然后&#34; @&#34;其后是哈希码。您所看到的是int数组的默认toString()表示形式。要打印数组中的实际数据,您可以:

System.out.println(java.util.Arrays.toString(arraya));

或者您可以像其他人建议的那样循环播放数组