读取输入为数组

Flo*_*low -1 java

我只是试图从用户那里读取输入整数

2 2 1 1 1 <作为一个整体

在调试器中,它可以放置每个整数但是何时放置

生成的数组打印出类似[I@19eda2c打印的内容.

public static void main(String[] args) {
int count=0;
int[] array = new int[10];
String input;
        Scanner scan = new Scanner(System.in);

System.out.println("Enter up to 10 integers: ");
while(scan.hasNextInt()){

array[count] = scan.nextInt();
count++;

}
System.out.println(array);

   }

}
Run Code Online (Sandbox Code Playgroud)

我现在明白它需要用for循环或toString方法打印

但是当我运行代码时,我意识到

即使用户输入整数,程序也会等待我

我的扫描仪物流不正确?

Lit*_*ild 7

您需要使用java.util.Arrays.toString()1D数组的方法.

要么

java.util.Arrays.deepToString() 用于多维数组.

您的程序没问题,但如果用户输入12个数字,它将读取12个整数.你的循环需要从0到9运行才能读取10个数字,而不是输入中有令牌

这是如何Arrays.toString()工作:

返回指定数组内容的字符串表示形式.字符串表示由数组元素的列表组成,用方括号括起来("[]").相邻元素由字符","(逗号后跟空格)分隔.通过String.valueOf(int)将元素转换为字符串

这是如何Arrays.deepToString()工作:

返回指定数组的"深层内容"的字符串表示形式.如果数组包含其他数组作为元素,则字符串表示包含其内容,依此类推.此方法用于将多维数组转换为字符串.

有关更多信息,请阅读以下文档:http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html