public static void main(String args[])
{
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
String[] label = new String[n];
int[] data = new int[n];
int x = 0;
for(x = 0; x < n*2; x++)
{
if (x<n)
{
label[x] = scan.nextLine();
}
if (x >= n)
{
data[x-n] = scan.nextInt();
}
}
System.out.print(data[0]);
}
当我尝试输入时,例如:
4
一个
2个
3个
四个
我在“四”时收到错误。不应该将这些字符串值放入数组中吗?
答案 0 :(得分:9)
问题是nextInt
不消耗该行 - 只是整数。所以你实际上获得“”,“一”,“两个”和“三个”的标签 - 然后它试图读取“四”作为第一个数据元素({{1 }})。
如果您输入这样的输入:
nextInt
然后您最终会得到4 one
two
three
four
1 2 3 4
的标签数组和{"one", "two", "three", "four"}
的数据数组。