Java回文数代码(初学者易懂)

1 篇文章 0 订阅
1 篇文章 0 订阅

这是我刷蓝桥杯题库时遇到的一道题

首先,回文数就是你从左边开始,读出来的数=从右边开始读出来的数相等,称为回文数

例如:1221、1111、2112 这些都是回文数

下面贴上回文数的代码

import java.util.Scanner;

public class St01 {

	public static void main(String[] args) {
		//这是100到1000的所有回文数
		for (int i = 100; i <1000; i++) {
			int gewei = i % 10;
			int shiwei = i/10%10;
			int baiwei = i/100;
			if (gewei==baiwei) {
				System.out.println(i);
			}
		}
	}
}

这个代码很简单也很繁杂,因为如果要求不同位数的回文数需要增加if结构,但好处就是容易看懂,如果想要判断一个数是否是回文数的话,可以使用以下方法

import java.util.Scanner;

public class St01 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		if (a<0||(a!=0&&a%10==0)) {
			System.out.println("这个不是回文数");
		}
		int res = 0;
		while (a>res) {
			res = res*10+a%10;
			a=a/10;
		}
		if (a==res||a==res/10) {
			System.out.println("这是一个回文数");
		}else {
			System.out.println("这个不是回文数");
		}
	}
}

此外我看见其他大佬都是写方法来判断的,也一起给你们贴上,确实比我的要简洁多了

public boolean isPalindrome(int x) {
    if (x<0 || (x!=0 && x%10==0)) return false;
    int rev = 0;
    while (x>rev){
        rev = rev*10 + x%10;
        x = x/10;
    }
    return (x==rev || x==rev/10);
}

写这些既是一种对自己知识的概括,也是希望能帮助到许多人

  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值