public class test {
public static void main(String[] args) {
byte buf[] = new byte[1024];
String strInfo = null;
int pos = 0;
int ch = 0;
System.out.println("please enter info, input bye for exit:");
while (true) {
try {
ch = System.in.read();
} catch (Exception e) {
System.out.println(e.getMessage());
}
switch (ch) {
case '\r':
System.out.println("\\r");
break;
case '\n':
strInfo = new String(buf, 0, pos);
if (strInfo.equals("bye")) {
System.out.println("\\n");
return;
} else
System.out.println(strInfo);
pos = 0;
break;
default:
buf[pos++] = (byte) ch;
}
}
}
}
----------------------------------------
case '\r':
case '\n':有什么区别,不都是按一下回车键吗,请教一下。什么时候执行\r什么时候执行\n,
感谢

解决方案 »

  1.   

    什么时候执行\r什么时候执行\n,
    感谢什么时候执行\r什么时候执行\n,
    感谢
    什么时候执行\r什么时候执行\n,
    感谢什么时候执行\r什么时候执行\n,
    感谢
    什么时候执行\r什么时候执行\n,
    感谢
      

  2.   

    \R用的比较少.一般来说都用\n  其实不同的就是光标,\n是光标移动到头 \r好象是光标移动到下一行尾部
      

  3.   

    Unix/Linux等 的换行是"\n"
    windows的换行是回车+换行,即"\r\n"所以,不关怎样, 换行的时候都会执行到 case "\n"
      

  4.   

    意思就是,如果是在windows的话,按完回车后会执行case "\r" 和 case "\n"输出结果,就不用我再说了吧
      

  5.   

    居然没有回答的完全正确的,只有jiqi62120说得比较准确啊。
      

  6.   

    嗯,,的确是jiqi62120讲的在理,,,先执行/r再执行/n结了。