在执行以下代码时,发现输入单个字符,却打印了3次。


	
	class ForTest {   
  public static void main(String[] args)   
    throws java.io.IOException { 
 
    int i; 
 
    System.out.println("Press S to stop."); 
 
    for(i = 0; (char) System.in.read() != 'S'; i++) 
      System.out.println("Pass #" + i); 
  }   
}
	
输出内容为:

a
Pass #0
Pass #1
Pass #2
w
Pass #3
Pass #4
Pass #5
1
Pass #6
Pass #7
Pass #8
2
Pass #9
Pass #10
Pass #11
	

原因是因为 System.in 将读取回车键作为换行符,而在 Windows 上回车内容有 : \r\n ,所以长度将为3,打印3次

文章版权声明:本文发表于2022-12-14 14:31:26,除非注明,否则均为 MB博客原创文章,转载或复制请以超链接形式并注明出处。

发表评论

登录后更精彩
评论列表 2 条评论 632 人围观)
网友昵称:ppp
ppp V 尊贵会员 2楼
2023-04-04 20:39:18 来自: 江苏省苏州市
参观留言
网友昵称:ppp
ppp V 尊贵会员 1楼
2023-03-30 21:40:17 来自: 江苏省苏州市
查看留言