干货分享 | 打印回文数的四种方法!!

  • 本文提供了四种方法来打印回文数,大家可以根据题目的要求(如:时间复杂度、运行时间、内存等限制条件)来选取合适的方法。如果题目要求打印的回文数较大,我们可以选择将数字转换为字符串的形式,这样就避免了数字过大而溢出;当然,打印的回文数没有超出Java可以表示的范围,下列的四种方法都可以实现。
  • 下面以打印四位的回文数来举例。

方法一:

直接循环一个四位数的每一位,然后判断是否满足回文数要求。(注:要输出几位的回文数就需要几重循环)

public class Main {public void Palindrome() {for (int i = 1; i < 10; i++) {for (int j = 0; j < 10; j++) {for (int x = 0; x < 10; x++) {for (int y = 0; y < 10; y++) {if (i == y && j == x) {System.out.println("" + i + j + x + y);}}}}}}public static void main(String[] args) {new Main().Palindrome();}
}

方法二:

先将原数字转换成字符串,再逆转字符串,最后判断逆转前后的字符串是否相等。

public class Main {public void Palindrome() {for(int i  = 1000;i < 10000;i++) {String ans = i + "";    //数字转换为字符串String reverse = new StringBuffer(ans).reverse().toString();//逆转字符串if(ans.equalsIgnoreCase(reverse)) {   //比较两个字符串是否相等System.out.println(ans);}}}public static void main(String[] args) {new Main().Palindrome();}
}

方法三:

先将原数字逆转,然后判断逆转前后的数字是否相等。

public class Main {public void Palindrome() {for(int i  = 1000;i < 10000;i++) {int temp = i;int reverse = 0;while(temp != 0) {int remain = temp % 10;temp /= 10;reverse = reverse * 10 + remain;}if(reverse == i) {   System.out.println(reverse);}}}public static void main(String[] args) {new Main().Palindrome();}
}

方法四:

将一个四位数的每一位存放在一个数组中,再依次取数组的两端元素并判断是否相等。

public class Main {public void Palindrome() {for(int i  = 1000;i < 10000;i++) {String temp = i + "";char[] str = temp.toCharArray();//将字符串以单个字符存放在数组中if(str[0] == str[3] && str[1] == str[2]) {for(int j = 0;j < str.length;j++) {System.out.print(str[j]);}System.out.println();}}}public static void main(String[] args) {new Main().Palindrome();}
}

补充:如需要降低循环的次数,进行如下判断
1、数字是否为负数
2、数字是否以0结尾

Java实现回文数四种方法相关推荐

  1. Java判断回文数(两种方式)

    Java判断回文数(两种方式) 回文数是一个非常特殊的数,它从左边读和从右边读是一样的.例如12321 判断方式有两种. 方式一:对该数字进行分解,然后一一比对,拆解成 1 2 3 2 1,然后第一位 ...

  2. Java(回文数--一种比较简单的写法)

    回文数.编写一个Java应用程序.用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如121.23 ...

  3. 判断一个数是否为回文数(三种方法,详细注解)

    题目要求: 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数.例如,121 是回文,而 123 ...

  4. java判断回文字符串几种简单的实现

    11年it研发经验,从一个会计转行为算法工程师,学过C#,c++,java,android,php,go,js,python,CNN神经网络,四千多篇博文,三千多篇原创,只为与你分享,共同成长,一起进 ...

  5. java输出回文数原代码_JAVA怎么用循环语句编写一个判别是否为回文数的代码?...

    import java.util.Scanner; /** * 回文数是指将该数含有的数字逆序排列后得到的数和原数相同, * 例如12121.3223都是回文数 */ public class Hui ...

  6. Java(回文数--比较简单的写法)

    回文数.编写一个Java应用程序.用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如121.23 ...

  7. 【Java】数组拷贝的四种方法

    四种方法 System.arraycopy() 这是一个native的方法,也是对大数组最高效的方法. Arrays.copyOf() 源码如下: public static <T> T[ ...

  8. java判断回文数代码实例

    import java.util.Scanner; /** 第三章 java运算符* 课后作业 判断回文数* 5.2.1 由用户输入一个整数,判断是不是回文数(完全对称的数),如果是 打印 true, ...

  9. java实现回文数算法

    [问题描述]所谓回文数是指具有如下性质的整数:一个整数,当它的各位数字逆序排列,形成的整数与原整数相同,这样的数称为回文数.例如,素数11,373,其各位数字对换位置后仍然为11,373,因此这两个整 ...

最新文章

  1. AVGCN:利用人类注意力引导的图卷积网络进行轨迹预测
  2. android开发中的 Activity 与 Context 区别与联系
  3. 庄导就业指导2020.4.6
  4. Java与.NET的WebServices相互调用
  5. windows下写的脚本,在linux下执行失败
  6. tensorflowgpu利用率为0_直流电压利用率的提高方法-梯形波调制法
  7. ASP.NET服务器控件刷新后仍旧保持滚动位置
  8. SRM596 DIV2 500
  9. tpc三次握手与四次挥手
  10. jquery+cropper剪切、旋转、缩放图片
  11. 删除win10添加的网络位置
  12. Photoshop:如何使图片覆盖在文字上以及一种海报效果实现
  13. Android WiFi 以太网同时上内外网
  14. 声音在计算机内表现形式为,声音与视频信息在计算机内的表现形式是什么
  15. android studio中的apk位置
  16. GitHub代码管理初探
  17. 还在犹豫写不写博客吗?
  18. linux shell遍历多个数组
  19. 发票扫描仪的正确打开方式
  20. 架构师小跟班:SSL证书免费申请及部署,解决页面样式错乱问题完整攻略

热门文章

  1. 解决win10使用Fiddler4无法手机抓包的问题(真正的大招!)
  2. c语言读取文件与写入文件
  3. Mask R-CNN训练日记
  4. input光标位置设置至行末端
  5. Pr入门学习之选择GPU加速
  6. 动画跨专业考研计算机,跨专业考研动漫
  7. 想必这篇秋招面试贴会帮助你
  8. jQuery前端面试题+笔试题+练习题(1)
  9. matlab白光干涉,matlab白光干涉
  10. 朴素贝叶斯算法及其实战