关于String(bytes,0,n)求助

GAO55SHANG 2012-12-07 10:28:52
主函数代码如下
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循环之后就不能显示输入的字符串了
学生求助,大神勿笑
...全文
165 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
applets 2012-12-08
  • 打赏
  • 举报
回复
不是一直在接受,是回车一次接受一次,最后的回车符不能让其结束所以是死循环
GAO55SHANG 2012-12-08
  • 打赏
  • 举报
回复
弱弱地问一句:为啥是死循环?是一直在接受我的回车符吗
wonkju 2012-12-07
  • 打赏
  • 举报
回复
红点就是你的程序还处在运行状态哈,没有问题。 LZ 要经常关闭流哈,要不然,久而久之,就出问题了。 放到循环里面,死循环了哈···

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧