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

来源:4-9 Java循环语句之 for

搁浅的鱼x

2018-03-29 16:54


获得一个四位数的九倍等于其反序,结果却是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);

}

  }
 }


写回答 关注

1回答

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

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

    搁浅的鱼x 回复zhaich...

    成啦?感谢!

    2018-03-29 17:42:56

    共 3 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165177 学习 · 17581 问题

查看课程

相似问题