问答详情
源自:4-9 Java循环语句之 for

麻烦看看反序输出的错在哪了呢,看了好久都没发现……


获得一个四位数的九倍等于其反序,结果却是6666??

public class fanxu {
 public static void main(String[]args) {
for(int k=1000;k<10000;k++) {
  int sum=0;
  String n=Integer.toString(k);
  for(int i=n.length()-1;i>=0;i--) {
           char c=n.charAt(i);
           int a=(int)c;
           for(int j=i;j>=1;j--) {
            a=a*10;
           }
           sum+=a;
  }
  if(k*9==sum)
   System.out.println(k);

}

  }
 }


提问者:搁浅的鱼x 2018-03-29 16:54

个回答

  • zhaichong
    2018-03-29 17:28:34
    已采纳

    int a=(int)c;这里错了char强制转换成int回返回其ascii码,0的ascii码是48,所以此处改成int a=(int)c+48即可