你的这句有错误:
num+=s.charAt(s.length()-i-1)*this.getN(i);
改成
num+=(s.charAt(s.length()-i-1)-'0')*this.getN(i);
就行了.
因为程序把'0'作为字符参加运算了,'0'字符的Ascii码值就是48,而'6'的Ascii码值是54,乘以10是540,加上48就是588了.
num+=s.charAt(s.length()-i-1)*this.getN(i);
改成
num+=(s.charAt(s.length()-i-1)-'0')*this.getN(i);