大家好,请问为什么
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");  }

解决方案 »

  1.   

    用了if语句就不提交任何信息,只有ta.append("Notes:"+dis.readUTF()+"321!\n")才行。
    郁闷了半天了。希望能得到指教,谢谢!qq:12814574
      

  2.   

    可能dis.readUTF()读出来的就是一个null,当然不能用equalsIgnoreCase函数了,但null可以进行+操作,因为null也是object,也有toString方法
      

  3.   

    多次读取
    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");  
    }
      

  4.   

    因为你不停的readUTF(),所以就出错了
      

  5.   

    while(true){
    }
    是一个死循环啊  出不来东西的
      

  6.   

    但为什么下面的行呢?
    while(true)
    {
    ta.append("Notes:"+dis.readUTF()+"321!\n"); }