<%!
   String uniteStr="";
  public String OperationStr(String str){
    if (str != "" && uniteStr.equal("")){
     uniteStr = str;
}
else{
     uniteStr = uniteStr + " and " +str;
}
    return uniteStr;
}
%>

解决方案 »

  1.   

    上面的错了
    if (str != "" && uniteStr.equal(""))没有意义!!!string 类型用!=多半会出错!
    应该if (!uniteStr.equal(""))但是我觉得楼主本身逻辑就出错了!
    <%
       string uniteStr;
      public String OperationStr(String str){
        if (!str.equals("")){
         uniteStr = str;
    }
    else{
         uniteStr = uniteStr + " and " +str;
    }
        return uniteStr;
    }
    %>
      

  2.   

    if (str != null || !(str.equal("")))
      

  3.   

    呵呵,自己思考比较好。
    建议养成比较良好的编程习惯--注意书写格式.第一段中uniteStr这个变量应定义为String.还有一点:你的函数其实不需要返。你在函数中修改了uniteStr的值,再返回是多余的。如果要return的话,应该return str;这样结构会好看点。PS:只是我的一点建议。本人很菜,交流一下我的菜鸟的经验。
      

  4.   

    <%!
       /*
        *函数中最好不要用外部参数。不利于函数的反复使用。我只提供思路,呵呵。
        *下面的逻辑可能会有问题,不要说我笨就可以了。^_^
        */
       String uniteStr="";
       public String OperationStr(String str1,str2){
         if(str2 != null && str2.equal("")){
           //uniteStr = str;
         }
         else{
           str2 = str1 + " and " +str2;
         }
        return str2;
    }
    %>