一简单程序 import java.io.*;public class TestInputStreamReader{ public static void main(String args[])throws IOException{ InputStream is=System.in; int c=0; while((c=is.read())!=-1){ System.out.print((char)c+" "); //为什么第一个数输不出来?还有怎么跳不出循环?为啥呢么? } }} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.is.read()是阻塞的 为什么第一个数输不出来? 应该没有这个问题。2. 因为 输入的C没有-1 所以一直循环。 System.in 默认从键盘输入作为读入值,你一开始执行,它就等待你键盘输入值,你没有到运行栏里从键盘输入什么,它就一直等待,所以这个是一个阻塞式的方法. 我晕死,刚刚给你写了好长一段回复,居然提交一下就没了,我再也不想重写回复了,最烦这个,CSDN老是出这样的问题,我很无奈要不你来我的Java群吧: 49167765 JAVAMM工作室 是一个Java讲课群 c=is.read()这里,c的值是输入字符的ascii码输入-1的时候c=="-"的asc码 我输入12345,或者abcde,1或者a就不显示啊? 没问题啊,我输入12345,回车以后屏幕上打印输出也是1 2 3 4 5123451 2 3 4 5 abcdea b c d e 这是我的两组测试结果 Java return 问题 为什么scala代码被编译成字节码后不能用java解释器执行? 学Java进做什么业务的公司最好 关于PriorityQueue的排序 敢问:现在在上海搞电脑(指软件技术方面)哪一行/业最赚钱? 弱弱的问个问题:关于数据库中数据的删除 请教2个日期相减,如何得到年 在java 中怎么调用数据库,当前急待想知道调用sql server的数据库? i=i++问题 初来乍到,菜鸟送分! io流与编码 socket连接问题
1.
is.read()是阻塞的 为什么第一个数输不出来? 应该没有这个问题。2. 因为 输入的C没有-1 所以一直循环。
c的值是输入字符的ascii码
输入-1的时候
c=="-"的asc码
1 2 3 4 5
abcde
a b c d e
这是我的两组测试结果