首页 > 解决方案 > 如何显示回文?

问题描述

我想显示两个 3 位数字的乘积的回文,范围从 100-999。我的代码有问题,我无法完全放置它。

public static void main (String[] args) {
   int num = 0, remainder = 0, sum = 0, b;
   int temp;

   for (b = 999; b >= 100; b--) {
      for (a = 999; a >= 100; a--) {
         num = (a * b);
         temp = num;

         while (num > 0) { 
            remainder = num % 10;  
            sum = (sum * 10) + remainder;    
            num = num / 10;
         }

         if (temp == sum)   
            System.out.println(temp);           
      }
   }
}

我期待一个输出,但我没有得到任何输出。

标签: java

解决方案


该代码永远不会重置sum为零。在首次使用时声明变量有助于避免此类问题。

public static void main(String[] args) {
  for (int b = 999; b >= 100; b--) {
    for (int a = 999; a >= 100; a--) {
      int sum = 0;
      int num = (a * b);
      int temp = num;

      while (num > 0) {
        int remainder = num % 10;
        sum = (sum * 10) + remainder;
        num = num / 10;
      }

      if (temp == sum) {
        System.out.println(temp);
      }
    }
  }
}

推荐阅读