首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于String(bytes,0,n)

2012-12-22 
关于String(bytes,0,n)求助主函数代码如下public class Echo {public static void main(String[] args){In

关于String(bytes,0,n)求助
主函数代码如下
public class Echo {


public static void main(String[] args)   {
InputStream is=System.in;
byte[] bytes=new byte[1024];
int n=0;
String input="h";
try {
                     System.out.println("请输入字符串");

     while((n=is.read(bytes))!=-1)
                   {
                            input=new String(bytes,0,n);
            System.out.println("输入的字符串是"+input);
                            }
} catch (IOException e) {
     e.printStackTrace();
}finally{
                    try {
is.close();
        } catch (IOException e) {
e.printStackTrace();
}
   }
      }
}
问题:1,输入字符串后也显示出来了,可为啥程序没有结束,eclipse 中terminate那个红点还亮着。
      2、为啥把“System.out.println("输入的字符串是"+input);"剪切到while循环之后就不能显示输入的字符串了
    学生求助,大神勿笑
[最优解释]
不是一直在接受,是回车一次接受一次,最后的回车符不能让其结束所以是死循环
[其他解释]
红点就是你的程序还处在运行状态哈,没有问题。
LZ 要经常关闭流哈,要不然,久而久之,就出问题了。
放到循环里面,死循环了哈···
[其他解释]
弱弱地问一句:为啥是死循环?是一直在接受我的回车符吗

热点排行