【发布时间】:2014-11-16 17:46:42
【问题描述】:
好的,所以我将一个数字列表作为字符串作为输入,我想用这些数字创建一个 int 数组。
import java.util.Scanner;
public class StringSplit
{
public static void main(String[] args)
{
int a;
int i = 0;
String s;
Scanner input = new Scanner(System.in);
System.out.println("This programs simulates a queue of customers at registers.");
System.out.println("Enter the number of registers you want to simulate:");
a = input.nextInt();
while(a==0 || a <0){
System.out.println("0 registers or no registers is invalid. Enter again: ");
a = input.nextInt();
}
System.out.println("Enter how many customers enter per second.For example: 0 0 1 1 2 2 2 3 3.
Enter: ");
s = input.next();
String[] parts = s.split(" ");
System.out.println(parts[1]);
for(int n = 0; n < parts.length; n++) {
System.out.println(parts[n]);
}
input.close();
}
}
如果我可以打印创建的整个数组,一切都会很棒,但由于某种原因,我得到了这个:
Input:
0 0 1 1 2 2
Output:
0
就是这样。仅打印数组的第一个元素。我是否应该尝试手动打印和元素,例如部件 [1](就像我所做的那样,我得到了这个:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at QueueSimulation.main(QueueSimulation.java:32)
为什么会这样?更重要的是我该如何解决?
【问题讨论】: