for(int i=0;i<str_yhmm.length();i++){
int ascii = (int)str_yhmm.charAt(i);
int result = ascii - (i+1) - 8;
char temp = (char)result;
str_return = str_return + String.valueOf(temp);

str_yhmm = str_return.replace("'","''");
其中,送进的str_yhmm="01234"时,就出现错误。原因是单引号所引起的。
应该如何让其识别单引号。或者说,单引号该如何才能被正确看成一个字符呢?现在,我用str_yhmm = str_return.replace("'","''");进行替换还是不能正常使用,在哪里出错了,小弟是新手,请大哥们详细指教,谢谢!!!

解决方案 »

  1. int ascii = (int)str_yhmm.charAt(i);
    这样转换有问题 
    你直接用 int result = str_yhmm.charAt(i) - '0';就可以了
      

  2. result 为int型的,而str_yhmm.char(i)-'0'的结果为char型的,怎么可能相等呢?str_yhmm = str_return.replace("'","''"); 执行这一句有问题,测试的时候没有正确替换出两个单引号. 
      

  3. str_yhmm = str_return.replace("'","\'");
      

类似问题 »