要求:编写Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断是否是回文数。
回文数是指将该数字含有的数字逆序后得到的结果和原数相同。例如:12121、3223都是回文数。
package com.test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int number = 0, units, tens, hundreds, thosands, tenThouands;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个1-99999的数字:");
number = scanner.nextInt();
if (number >= 1 && number <= 99999) {
units = number % 10;// 个位
tens = number / 10 % 10;// 十位
hundreds = number / 100 % 10;// 百位
thosands = number / 1000 % 10;// 千位
tenThouands = number / 10000;// 万位
if (tenThouands != 0) {
System.out.println(number + "是5位数");
if (tenThouands == units && thosands == tens) {
System.out.println(number + "是回文数");
} else {
System.out.println(number + "不是回文数");
}
} else if (thosands != 0) {
System.out.println(number + "是4位数");
if (units == hundreds && tens == thosands) {
System.out.println(number + "是回文数");
} else {
System.out.println(number + "不是回文数");
}
} else if (hundreds != 0) {
System.out.println(number + "是3位数");
if (units == hundreds) {
System.out.println(number + "是回文数");
} else {
System.out.println(number + "不是回文数");
}
} else if (tens != 0) {
System.out.println(number + "是2位数");
if (tens == units) {
System.out.println(number + "是回文数");
} else {
System.out.println(number + "不是回文数");
}
} else if (units != 0) {
System.out.println("是1位数");
System.out.println(number + "是回文数");
}
} else {
System.out.println("输入的数不在1-99999之间。");
}
}
}
运行结果: