大家好!小弟刚入行,请各位多多指教。有这样 一个问题:
      我在页面输入一字符串,串中包括'+'字符,通过参数传递到后台,后台显示的字符串长度正确,可为何不显示'+'字符?
Ex:
                        String formular = getRequest().getParameter("formular");//后台接受的字符串
char[] formularStack = new char[formular.length()];
System.out.println(formular.length());
                        System.out.println(formular);//打印的字符串中没有打印出'+'
formularStack[0] = formular.charAt(0);
if(formularStack[0]=='+')
{
……
}

解决方案 »

  1.   

    formular 这个字符串中必须包含有+   formular是不是+来拼接成的字符串  例如 formular="afasdf+asdfasfdasd";如果 :String formaular="";
          formaular+="asdfasdf";
          formaular+="asfasdf";
          这样是没有+的 
      

  2.   

    formular其实是一个公式字符串,当中的'+'字符就是加法运算符,而非字符串连接符,解析出'+'号是为了计算用的
      

  3.   

     你的字符串里面不包括'+'运算符。。
    你传过来的字符串如果是'+sldkjflsdkjf'
    应该就有
      

  4.   

    你的字符串里面不包括'+'运算符。。 
    你传过来的字符串如果是'+sldkjflsdkjf' 
    应该就有
    当然会包括,字符串由用户输入,这个字符串就是一计算公式,如输入"sqrt(X*4+X*X/4+16)"这样一字符串,我后台打出来的串中没有'+',在'+'的位置处为一空白,估计是被当作连接符了
      

  5.   

    public class Test {
     public static void main(String[] args) {
    String s="sdf+sf";
    System.out.println(s);
    char[] formularStack = new char[s.length()]; 
    for (int i = 0; i < formularStack.length; i++) {
    formularStack[i]=s.charAt(i);
    System.out.println(formularStack[i]);
    }
    }
    }
    结果:
    sdf+sf
    s
    d
    f
    +
    s
      

  6.   

    RE:
      楼上,按照你写的,确实会打印出来'+';我的字符串是从页面传到后台的,传过来之后,这个字符就不会显示了;如在页面输入asf+sf,后台打印结果如下:
      

  7.   

    打印结果如下:
    Formular=sdf sf
    6
    s
    d
    f
     
    s
    f
      

  8.   

    问题解决了,估计是Struts框架出了bug,我用Javascript 把"+"替换成了别的字符,传到后台之后再替换回来.谢谢大家关注,在这散分了