提问人:Artem Stukalov 提问时间:7/12/2023 最后编辑:KrokomotArtem Stukalov 更新时间:7/13/2023 访问量:52
Java 新手。发现“For+Scanner”奇怪行为
Newbie in Java. Found "For+Scanner" strange behavior
问:
在学习 Java 的过程中,我发现我的程序中有一个奇怪的行为。
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<String> strings = new ArrayList();
for (int i = 0; i < 3; i++) {
strings.add(scanner.nextLine());
System.out.println(strings.get(i));
}
System.out.println(strings.size());
}
}
当前示例工作正常,因此我看到了正确的输入结果。
但是,如果我删除我的检查字符串,程序只允许我进行 2 个键盘输入而不是 3 个。而且它会自动在循环的第二步输入空字符串。System.out.println(strings.get(i));
那么,为什么会发生这种情况以及如何避免呢?
答:
0赞
Artem Stukalov
7/12/2023
#1
好吧,问题出在IDE中。我已经下载了 Eclipse,但问题没有在那里重现。感谢所有试图提供帮助的人! 以下是有关问题 IDE 的信息:
IntelliJ IDEA 2022.1.1(社区版) 内部版本 #IC-221.5591.52,构建于 2022 年 5 月 10 日 运行时版本: 11.0.14.1+1-b2043.45 amd64 VM:JetBrains s.r.o. 开发的 OpenJDK 64 位服务器 VM 窗户 11 10.0 GC:G1年轻一代,G1老一代 内存:2048M 磁芯:16 非捆绑插件: com.jetbrains.edu (2022.5-2022.1-343)
Kotlin:221-1.6.21-release-337-IJ5591.52
上一个:如何在 Java 中比较字符串?
下一个:多维数组不断重复
评论