一个极其简单的if问题

hugoon 2007-04-04 05:39:23
大家好,请问为什么
while(true)
{
if(dis.readUTF().equalsIgnoreCase("123"))
{
ta.append("Notes:"+dis.readUTF()+"输出123!\n");
}
else if(dis.readUTF().equalsIgnoreCase("321"))
{
ta.append("Notes:"+dis.readUTF()+"321!\n");
}
}
不能正常运行呢?但是编译是没问题的。

只能这样才行:
while(true)
{
ta.append("Notes:"+dis.readUTF()+"321!\n");

}
...全文
272 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdutcrcl 2007-04-04
  • 打赏
  • 举报
回复
但为什么下面的行呢?
while(true)
{
ta.append("Notes:"+dis.readUTF()+"321!\n");

}
Heros163 2007-04-04
  • 打赏
  • 举报
回复
while(true){
}
是一个死循环啊 出不来东西的
「已注销」 2007-04-04
  • 打赏
  • 举报
回复
因为你不停的readUTF(),所以就出错了
健之 2007-04-04
  • 打赏
  • 举报
回复
很简单,if语句的条件运算不满足,为假呗。
「已注销」 2007-04-04
  • 打赏
  • 举报
回复
多次读取
String str=null;
while(true)
{
str=dis.readUTF();
if(str==null)
break;
if(str.equalsIgnoreCase("123"))
ta.append("Notes:"+str+"输出123!\n");
else if(str.equalsIgnoreCase("321"))
ta.append("Notes:"+str+"321!\n");
}
oracs 2007-04-04
  • 打赏
  • 举报
回复
可能dis.readUTF()读出来的就是一个null,当然不能用equalsIgnoreCase函数了,但null可以进行+操作,因为null也是object,也有toString方法
hugoon 2007-04-04
  • 打赏
  • 举报
回复
用了if语句就不提交任何信息,只有ta.append("Notes:"+dis.readUTF()+"321!\n")才行。
郁闷了半天了。

希望能得到指教,谢谢!

qq:12814574

62,614

社区成员

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

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