我需要从用户那里获取一系列整数。用户不会被提示输入数字。输入将采用以下形式:
6
34 12 7 4 22 15
3
3 6 2
第一行表示第二行中整数的数量。 我最初尝试将第二行读取为字符串,并使用StringTokenizer在代码中将其分解为整数。由于这在我的程序中经常发生,所以耗时较长,我需要直接读取它们。 我记得在C++中它通常很简单。以下代码段可以解决问题。
for(i=0;i<6;i++)
cin>>a[i];
为了实现这个功能,我使用了java.util.Scanner工具,我的代码如下:
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
Scanner src = new Scanner(System.in);
for(x=0;x<2;x++){
arraySize = Integer.parseInt(br.readLine());
for(i=0;i<arraySize;i++)
array[i] = src.nextInt();
}
在这种情况下,我遇到了以下错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "34 12 7 4 22 15"
我愿意听取建议,不仅局限在Scanner上。如果有其他方法可以实现这个目的,我也很乐意尝试。