gpt4 book ai didi

java - 为什么我的循环似乎从索引 1 开始?

转载 作者:行者123 更新时间:2023-12-01 06:53:18 25 4
gpt4 key购买 nike

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
一个
两个
三个
四个

我在“四”处收到错误。难道不应该将这些字符串值放入数组中吗?

最佳答案

问题是 nextInt 不消耗该行 - 只是消耗整数。因此,您实际上获得了“”、“一”、“二”和“三”的标签 - 然后它尝试将“四”读取为第一个数据元素(使用 nextInt)。

如果您像这样键入输入:

4 one
two
three
four
1 2 3 4

那么你最终会得到一个 {"one", "two", "third", "four"} 的标签数组和 {1, 2 , 3, 4}.

关于java - 为什么我的循环似乎从索引 1 开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19389655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com