为了账号安全,请及时绑定邮箱和手机立即绑定

IO延迟在JAVA中的for循环中导致2次迭代

IO延迟在JAVA中的for循环中导致2次迭代

慕田峪7331174 2021-04-29 14:11:51
我正在测试一些代码,遇到了一些有趣的东西,而我需要一些专家的意见。一个简单的程序可以在输入为0时停止循环,s但似乎每个输入上的循环都重复两次,我想这是因为IO延迟。如果我错了,请纠正我。public static void main(String[] args) throws java.io.IOException {        int i;        System.out.println("Type s to stop.");        for(i = 0; ; i++) {            char value = (char) System.in.read();            if(value=='s'){                break;            }            System.out.println("Pass # " + i);        }    }输出:
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

当输入字符a作为输入时,实际上输入了两个字符。

  • a

  • \n

但是,当您阅读时char,它会逐一读取。因此,它循环了两次。


查看完整回答
反对 回复 2021-05-12
  • 1 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信