没什么问题,不过我想,每个case语句后都要加个break语句

解决方案 »

  1.   

    "return " has same effect with "break"? Am I right?
      

  2.   

    result 的访问控制符final有问题,最好去掉
      

  3.   

    我拿一个具体的数分析一下
    前提输入 36,
    changeTo(36,36,result);
    (div >= mode) 
    result.appand(changeTo(0,36,result));
    changeTo(0,36,result) 的返回值是result,这里result = "0";
    所以执行完result.appand(changeTo(0,36,result));之后
    result = "00";
    再执行 return changeTo(div / mode, mode, result);
    result = "000"
    所以这个递归有问题
    不知道我分析的对不对
      

  4.   

    你分析的不对。递归没问题。case后面要加个break。不然它会每一条都执行。
      

  5.   

    那都return了,还需要break么??
      

  6.   

    to:alienbat
    说说我什么地方分析错了,你给解释一下,
    也让我学点东西
      

  7.   

    我已搞定,递归本身是有问题的但大的结构没有错,错在“result.append(changeTo(div / mode, mode, result));”改成“changeTo(div / mode, mode, result);”
    "return changeTo(div / mode, mode, result);”改成“return changeTo(div % mode, mode, result);”谢谢大家参与,新年快乐!