我需要从用户那里获得一系列整数.系统不会提示用户输入数字.输入将具有以下形式:
6
34 12 7 4 22 15
3
3 6 2
第一行表示第二行中的整数数.我首先尝试将第二行作为String读取,然后使用StringTokenizer将其分解为代码中的整数.正常情况发生在我的程序中很多,这很耗时,我需要直接阅读它们.我记得在C++中它过去相当简单.以下代码段用于执行此操作.
for(i=0;i<6;i++)
cin>>a[i];
Run Code Online (Sandbox Code Playgroud)
为此,我使用了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();
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我收到以下错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "34 12 7 4 22 15"
Run Code Online (Sandbox Code Playgroud)
我愿意接受建议,而不是仅仅依靠Scanner.如果有任何其他方法来实现这一点,我就是游戏.