gpt4 book ai didi

java - For 循环 读取 char 时加 3

转载 作者:行者123 更新时间:2023-12-02 05:16:22 24 4
gpt4 key购买 nike

谁能告诉我为什么每次读取一个字符时for循环都会增加3?

         public class Test {
public static void main(String[] args) {
char ch1=' ';
for(int i = 0 ; i < 5; i++) {
try { ch1 = (char) System.in.read();
} catch(Exception e) {}
System.out.println(i);
}
}
}

最佳答案

终端只能让您一次读取整行。当您按 Enter 键时,它会发送回车换行序列(2 个字符)来标记行的末尾。您可以通过将其包装在 do 循环中来过滤掉它们,如下所示:

for (int i = 0 ; i < 5; i++) {
do {
try {
ch1 = (char)System.in.read();
} catch (Exception e) {}
} while (ch1 == '\n' || ch1 == '\r');
System.out.println(i);
}

请注意,如果您创建 Scanner来自System.in,它具有获取整行输入的方法以及其他使其比处理单个字节更容易使用的方法。

关于java - For 循环 读取 char 时加 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26921747/

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