当前位置: 代码迷 >> Java相关 >> servlet 问题 谁帮一下不胜感激~~
  详细解决方案

servlet 问题 谁帮一下不胜感激~~

热度:100   发布时间:2009-10-18 13:50:45.0
servlet 问题 谁帮一下不胜感激~~
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class multichoice extends HttpServlet {
   
   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=GB2312");
        request.setCharacterEncoding("gb2312");
        PrintWriter out = response.getWriter();
        try {
            String[] paramValues=request.getParameterValues("checkbox1");
            String temp=new String("");
            for(int i=0;i<paramValues.length;i++){
              temp+=paramValues[i]+" ";
            }
            out.println("你喜欢的水果有:"+temp+".");
        } finally {
            out.close();
        }
    }
标注红色的那部分不明白为什么。temp是String类型的,但是他不是数组啊,怎么for循环里面把一个数组付给他了,For循环完了直接就输出了呢??
搜索更多相关的解决方案: servlet  感激  

----------------解决方案--------------------------------------------------------
只是用它(temp)来保存数据.字符串是可以用加(+)号来进行连接的.
比如说: String str1="abc";
        String str2="def";
        String str3=str1+str2;
----------------解决方案--------------------------------------------------------
类似的问题前几天好像有人也问过

在Java中“+”既可以作为算术运算符 也可以作为字符串的连接符(正如楼上所说)

当+两侧全是数字的时候  他就用作算术运算符

当+有一侧含有任意字符串时,他就起连接符的作用 同时整个表达式的结果的类型也变成了字符串

例:int a=10,b=20,c=0;
    string temp="";
    c=a+b;
    temp=a+b+"";
注意  第一个表达式的结果是30而第二个表达式的结果是1020

----------------解决方案--------------------------------------------------------
temp是String类型的,但是他不是数组啊,怎么for循环里面把一个数组付给他了,For循环完了直接就输出了呢??
----------------解决方案--------------------------------------------------------
string数据类型相当于是元素为字符的数组

并不是把一个数组付给temp 而是把数组里面的所有值连接起来(注意+的作用)然后赋值给temp
----------------解决方案--------------------------------------------------------
String[] paramValues=request.getParameterValues("checkbox1"); //这里明显是获取了多选筐的结果,故而需要数组存储.
            String temp=new String("");
            for(int i=0;i<paramValues.length;i++){
              temp+=paramValues[i]+" "; //这里楼上他们已经和你解释了,JAVA里的+也可以看做是拼字符串.
            }

----------------解决方案--------------------------------------------------------
明白,谢谢了
----------------解决方案--------------------------------------------------------
  相关解决方案