Java编程经典例题|回文数

 一、题目描述

回文数(Palindrome Number)是一个正读和反读都一样的数。例如,121、1331、12321 都是回文数。

题目要求:输出五位数的所有回文数,并统计有多少个回文数。

二、代码

public class HuiWen {  
    public static void main(String[] args) {  
        int count = 0; // 用于统计回文数的数量  
  
        for (int i = 10000; i < 100000; i++) {   
            int w = i / 10000; // 万位  
            int q = (i / 1000) % 10; // 千位  
            int b = (i / 100) % 10; // 百位  
            int s = (i / 10) % 10; // 十位  
            int g = i % 10; // 个位  
  
            if (w == g && q == s) {  
                System.out.println(i + " 是一个回文数");  
                count++; // 统计回文数的个数  
            }  
        }  
        System.out.println("共有 " + count + " 个五位数回文数");  
    }  
}

三、输出结果

 

四、代码分析

  1. 声明一个整型变量count,用于统计找到的五位数回文数的数量。

  2. 使用一个for循环遍历所有五位数,即从10000到99999。

  3. 在循环体内,使用取模和整除操作来提取每个数的万位、千位、百位、十位和个位数字。

    • int w = i / 10000; 提取万位数字。
    • int q = (i / 1000) % 10; 提取千位数字。
    • int b = (i / 100) % 10; 提取百位数字(这里虽然提取了百位数字,但在后续的回文数判断中并未使用到)。
    • int s = (i / 10) % 10; 提取十位数字。
    • int g = i % 10; 提取个位数字。
  4. 判断该数是否为回文数。在这个特定的五位数情况下,只需要比较万位和个位数字是否相同,以及千位和十位数字是否相同。因为百位数字对于五位数回文数的判断没有影响,所以这里没有使用到b变量。

    • if (w == g && q == s) { ... } 判断是否是回文数。
  5. 如果满足回文数的条件,就打印出该数,并增加count的值。

  6. 循环结束后,打印出找到的五位数回文数的总数。

纵使眼前迷雾蒙蒙,我仍相信会有美丽的风景,喜欢我的话就请关注我叭~ 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力写sql的猪猪

你的鼓励是我最开心的事情~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值