java如何判断回文数
什么是回文数?数值两边呈对称的数是回文数,比如121,12321,1234321…
但是回文数应该怎么判断呢,以121举例子:
121%(取余)10得到了1,
12%10得到了2,
1%10得到了1,
由此推断如果将121取余得到的余数按照相反排序的话,若仍与原数相等,则可判断出这个数是回文数,
下面是代码:
package day1013;
import java.util.Scanner;
//判断一个数是否是回文数
public class day1016 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long number;
System.out.println("请输入一个数:");
number = sc.nextLong();
long x = test(number);
while(number<100) {
System.out.println("请输入一个大于0且大于100的整数");
number=sc.nextLong();
}
if (x==number) {
System.out.println(number+"是回文数");
}
else {
System.out.println("抱歉"+number+"不是回文数");
}
}
public static long test(Long number) { //判断过程
long sum =0;
while(number>0) {
sum = sum*10+number%10;
number=number/10;
}
return sum;
}
}
若输入一段很长很长的数,用int会有溢出,所以这里设置了长整型