gpt4 book ai didi

java - 扫描器和 for 循环

转载 作者:行者123 更新时间:2023-12-01 22:59:17 26 4
gpt4 key购买 nike

我正在编写一段代码,并尝试初始化一个 vector 。然而,代码以某种方式跳过了第一个代码并初始化了我的 vector 的空白。有人知道为什么吗?这是我的代码片段:

public class Test{
private Vector<String> vecStr;

public void run(){
vecStr = new Vector<String>();
System.out.println("How many strings do you want for your string vector?");
int numStr = keyboard.nextInt();
System.out.println("Enter your string values.");
for (int i=0;i<numStr;i++){
System.out.println(i + "Input");
vecStr.add(keyboard.nextLine());}
}
}
}

假设我输入 4,不知何故,代码给出了我:

0
1
input:
2
input:
3
input:

它跳过了 0 1。有人可以告诉我为什么会这样吗?如果我要显示 vector ,它会给我:[ , blah, blah, blah] 。为什么第一个元素有一个空白?

最佳答案

扫描仪不是按行工作,而是按 token 工作。因此,在第一个 nextInt() (对于 numStr)之后,扫描仪的光标停留在输入行的末尾(而不是下一行的开头)。因此,紧接着执行的第一个 nextLine() 会产生空字符串。随后调用 nextLine() 即可正常工作。

关于java - 扫描器和 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23557656/

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