黑马程序员技术交流社区

标题: 关于键盘录入 [打印本页]

作者: 芦子骐    时间: 2013-3-29 18:24
标题: 关于键盘录入
本帖最后由 芦子骐 于 2013-3-29 23:49 编辑

键盘录入中的 /r  和 /n 有什么区别??不都是换行么  

还有就是 我输入了一行字符串,想判断如果是OVER就结束循环,但是貌似这个字符串中有/r字符,总是判断不成,快疯了……

作者: 续圆凯    时间: 2013-3-29 18:29
\r是回车符,\n是换行符  你的斜杠打反了.....
作者: 赵崇友    时间: 2013-3-29 18:32
'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格.你可以自己试试效果。
另外你那判断结束循环的语句是怎么写的啊?发个源码看看


作者: vmvm555    时间: 2013-3-29 19:59
楼上说的都没有错,我在补充一点吧
windows和Unix是以不同的字符作为终止符windows是以\r和\n作为结束行标志,而Unix是以\n作为结束标志
作者: VOIDMAIN    时间: 2013-3-29 21:53
我再补充一下吧,java为了照顾跨平台,所以在字符流操作的时候,有一个newline()方法,相当于\r\n,
键盘输入流是字节流,最好封装成字符流,然后readline()操作,把读到的结果直接equas(“over”)即可。
作者: 芦子骐    时间: 2013-3-29 23:47
VOIDMAIN 发表于 2013-3-29 21:53
我再补充一下吧,java为了照顾跨平台,所以在字符流操作的时候,有一个newline()方法,相当于\r\n,
键盘 ...

这个是正解,这个方法确实是最好的,单数如果想用单个字符来接受的话,还要判断一下是否为\r,总而言之言而总之,用StringBuilder将键盘输入的字符一个一个装起来,再输出,这样装的时候会把回车和换行符也装进去,所有判断的时候会出现字符串不能完全匹配

我想应该是这样的……{:3_50:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2