日期:2014-05-20 浏览次数:20849 次
public class ReadLine{ public static void main(String[] args) { byte [] buf=new byte[1024]; String strInfo=null; int pos=0; int ch=0; while(true) { try { ch=System.in.read(); } catch(Exception e) { e.printStackTrace(); } switch(ch) { case'\r': break; case'\n': strInfo=new String(buf,0,pos);//什么意思? if(strInfo=='bye') { return; } else { System.out.println(strInfo); pos=0; break; } default: buf[pos++]=(byte)ch; } } } }
public class ReadLine{ public static void main(String[] args) { byte [] buf=new byte[1024]; String strInfo=null; int pos=0; int ch=0; while(true) { try { ch=System.in.read(); } catch(Exception e) { e.printStackTrace(); } switch(ch) { case'\r': break; case'\n': strInfo=new String(buf,0,pos);//取buf,0到pos出来形成字符串 if(strInfo=='bye')//字符是一个一个的,能这么写吗?改成"bye".equals(strInfo) { return; } else { System.out.println(strInfo); pos=0; break; } default: buf[pos++]=(byte)ch; } } } }
------解决方案--------------------
if(strInfo=='bye')
字符串必须要用equals()方法判断,而且字符串是""的