作者kingofsdtw (不能闲下来!!)
看板java
标题[问题] InputStreamReader.read()练习
时间Wed May 14 12:03:56 2014
问题:
用while 读取至换行字元(变数i指向换行字元),
for(j=0;j<i;j++)却会印出换行字元
char[80] i
char[0] char[1] Char[2] Char[3] Char[4]
L O V E '\n'
code:
https://www.dropbox.com/s/rci9tepjqg8mbt1/inputReader.rar
http://ideone.com/7GyCfL
/**Start**/
InputStreamReader s1 = new InputStreamReader(System.in);
while ((ch[i] = (char) s1.read()) != 10) {i++;}
/*output*/
for (int j = 0; j < i; j++)
System.out.print(" \"" + ch[j] + "\"");
System.out.println("不会自动换行");
error:
https://www.dropbox.com/s/ei4ad7tuzt6d4ox/inputreader.jpg
尝试:
1. Method:"while" check
http://ideone.com/Ljzt1e
2. for(j=0;
j0m< i-10m;j++) 结果正确,但不符合逻辑...
3. google InputStreamBuffer.read();用法
大大们感谢了!本鲁菜比巴... 练习都遇到一堆Bug
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.161.138.215
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1400040242.A.431.html
※ 编辑: kingofsdtw (1.161.138.215), 05/14/2014 12:05:34
1F:→ stimim:网路上有很多贴程式码的地方 codepad, gist, ideone 05/14 12:07
ty!!
※ 编辑: kingofsdtw (1.161.138.215), 05/14/2014 12:29:34
2F:推 stimim:然後,对你的问题,我建议你把每个字的ASCII码印出来看看 05/14 12:14
3F:→ qrtt1:同感。要直接能在版上呈现足够资料才能增加回复的意愿。 05/14 12:19
4F:→ qrtt1:尽可能把问题浓缩到不需要放外部 link。在上一篇有些 link 05/14 12:20
5F:→ qrtt1:已经消失了。这样发问的型式,我个人就不太有看的意愿了 05/14 12:21
6F:→ qrtt1:因为问题可能过没多久就断头了,无法在版上累积成知识。 05/14 12:21
※ 编辑: kingofsdtw (1.161.138.215), 05/14/2014 12:34:50
7F:→ stimim:不知道你有没有注意到,在ideone上的输出就是你预期的 05/14 12:34
实际在cmd下跑换行键会印出来...,ideone似乎不吃换行键 ..
※ 编辑: kingofsdtw (1.161.138.215), 05/14/2014 12:36:51
结果:
https://www.dropbox.com/s/27rchmaljr6go6f/inputreader2.jpg
xd~
※ 编辑: kingofsdtw (1.161.138.215), 05/14/2014 13:00:44
9F:→ stimim:很明显的,多出来的键不是\n,而是某个ASCII码为13的东西 05/14 13:04
感谢大大 @@!
※ 编辑: kingofsdtw (1.161.138.215), 05/14/2014 13:06:32