什么是回文数?

回文数即一个数字从左到右读和从右到左读是同一个数。

Java实现打印所有五位数中的回文数

分析:

要打印所有五位数中的回文数,只需要判断五位数的第一位和第五位是否相同,第二位和第四位是否相同即可。以下第一种方法是按部就班遍历每一个五位数得到的,第二种方法利用了回文数的特点进行实现,第一种的方法在效率上不及第二种方法,毕竟遍历次数是第二种的10倍。因此在编程时也需要进行思维上的转变,在合适时选择执行效率更高的算法。

方法一:

遍历所有5位数(10000-99999),将整型数字转换为字符串,利用字符串的索引机制判断五位数的1、5和2、4位是否相同。

private void method1() {//计回文数的个数int count = 0;//遍历所有五位数long startTime = System.currentTimeMillis();for (int i = 10000; i < 100000; i++) {//将整形数字转换为字符串
//            String num = String.valueOf(i);String num = Integer.toString(i);//判断是否为回文数if (String.valueOf(num.charAt(0)).equals(String.valueOf(num.charAt(4))) &&String.valueOf(num.charAt(1)).equals(String.valueOf(num.charAt(3)))) {System.out.print(i + "\t");count++;if (count % 10 == 0)System.out.println();}}System.out.println("五位数中回文数的个数为:" + count);long endTime = System.currentTimeMillis();System.out.println("该方法执行时间为"+(endTime-startTime)+"ms");}

方法二:

由回文数的特点,五位数的1、5和2、4位相同,可以使用拼接的方式,获取所有五位数中的回文数,使用循环遍历的方式,第一层循环为个位(对应最高位),第二层循环为十位(对应第二位),第三层循环为百位,使用输出语句输出回文数对应的字符串即可。

private void method2() {int count = 0;//个位为dig_1,十位为dig_2,百位为dig_3long startTime = System.currentTimeMillis();for (int dig_1 = 1; dig_1 < 10; dig_1++) {for (int dig_2 = 0; dig_2 < 10; dig_2++) {for (int dig_3 = 0; dig_3 < 10; dig_3++) {System.out.print(dig_1 + "" + dig_2 + "" + dig_3 + "" + dig_2 + "" + dig_1 + "\t");count++;if (count % 10 == 0)System.out.println();}}}System.out.println("五位数中回文数的个数为:" + count);long endTime = System.currentTimeMillis();System.out.println("该方法执行时间为"+(endTime-startTime)+"ms");}

判断一个数是否为回文数

分析:

使用Scanner类输入一个数字,判断这个数字对应位上的数字是否相同即可。同理也是将输入的数字转换为字符串,再将字符串转换为字符数组,利用索引机制判断对应位上数字是否相同即可。如果输入的数字位数为奇数位,只需利用循环判断位数/2-1次就可以判断是否为回文数,如果输入的数字位数为偶数,判断位数/2次即可;当某一次判断对应位数字不相同时,即可跳出循环,判定该数字不是回文数。

//判断一个数是否为回文数private void isPalindrome() {Scanner input = new Scanner(System.in);System.out.print("请输入需要判断的数字:");int num = input.nextInt();String s = Integer.toString(num);char[] array = s.toCharArray();boolean flag = true;for (int i = 0; i < array.length / 2; i++) {if (array[i] != array[array.length - i - 1]) {flag = false;System.out.println("你输入的数字不是回文数!");break;}}if (flag)System.out.println("你输入的数字是回文数!");}

部分内容参照Java基础50道经典练习题(22年新版)

Java基础编程——回文数相关推荐

  1. 试题 基础练习 回文数

    试题 基础练习 回文数 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数. 输出格式 按从小到大 ...

  2. Java代码实现回文数

    何为回文数? 举个简单的例子: 121 , 123321, 1212121这样的数字就是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. Java代码实现回文数如下: /*** ...

  3. java如何判断回文数

    java如何判断回文数 什么是回文数?数值两边呈对称的数是回文数,比如121,12321,1234321- 但是回文数应该怎么判断呢,以121举例子: 121%(取余)10得到了1, 12%10得到了 ...

  4. java判断五位数回文数_【视频+图文】Java经典基础练习题(五):键盘输入一个五位数,判断这个数是否为回文数...

    能解决题目的代码并不是一次就可以写好的 我们需要根据我们的思路写出后通过debug模式找到不足再进行更改 多次测试后才可得到能解决题目的代码! 通过学习,练习[Java基础经典练习题],让我们一起来培 ...

  5. java基本语句回文数实验_实验二 java基本数据类型与把持语句.doc

    实验二 java基本数据类型与把持语句.doc 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 5System.out.println(num ...

  6. c语言编程回文数用数组,【C语言程序设计】C语言回文数怎么求?

    问题描述 打印所有不超过n(取n<256)的其平方具有对称性质的数(也称回文数). 问题分析 对于要判定的数n计算出其平方后(存于a),按照"回文数"的定义要将最高位与最低位 ...

  7. Java之判断回文数

    实验代码: /* * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: TestNumber. ...

  8. Java算法:回文数

    一个正整数,如果交换高低位以后和原数相等,那么称这个数为回文数.比如 121121,23322332都是回文数,13,456713,4567 不是回文数. 任意一个正整数,如果其不是回文数,将该数交换 ...

  9. python编程—回文数判断

    例题:判断一个数是否是回文数. 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数. 示例 1:输入: 121输出: true 示例 2:输入: -121输出: fa ...

最新文章

  1. ethercard php_使用Arduino和ENC28J60以太网LAN网络模块发送HTTP POST请求
  2. NUMA架构的CPU
  3. SQL 每行随机产生数字
  4. 常用的函数式接口_Predicate接口
  5. C++ 深复制与浅复制 RVO问题
  6. win98 老电脑 文件导出_首次装电脑之前何不先模拟一番,这款练手神器可以帮你...
  7. JavaScript强化教程—— RegExp 对象
  8. ADODB.Connection、ADODB.RecordSet
  9. stata15中文乱码_如何解决 Stata 14 的中文乱码问题
  10. 中国参与互联网下一代根服务器建设
  11. 计算机系统u盘判断,U盘真实容量检测工具
  12. pla3d打印材料密度_3D打印材料:透明PLA材料
  13. 【Adobe Premiere Pro 2020】pr2020文字与图形的关键帧制作说明、各类字体添加和字幕创建说【包含动态字幕】、特效添加说明【混合视频剪辑】
  14. Mac系统如何显示隐藏文件
  15. 复杂网络的任意子节点的网络最短距离
  16. 2020-09-25
  17. 各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码
  18. 三星 android 模拟器下载地址,GalaxyOfWar电脑版下载 安卓模拟器图文安装教程
  19. 零基础零经验自学Python,到精通Python要多久啊?
  20. fx5u以太网通讯设置_图文简述三菱FX 5U以太网通讯的8大功能,你会用几种?

热门文章

  1. 王道考研b站操作系统、计算机组成原理、计算机网络课程(课件资料)
  2. STM32开发笔记117:使用Matlab生成IIR低通滤波器系数
  3. fiddler4修改请求和返回数据
  4. flappy bird游戏源代码揭秘和下载
  5. found character ‘@‘ that cannot start any token. (Do not use @ for indentation)
  6. 小心隔墙有眼!Wi-Fi 变狗仔还能全息成像?
  7. maven配置阿里云源
  8. 基于51单片机的红外循迹模块
  9. AD使用市面上绝大多数封装库
  10. safari下载文件_如何更改Safari下载文件夹的位置