版本一】限制输入位数
/*
【程序25】题目:一个5位数,判断它是不是回文数。
即12321是回文数,个位与万位相同,十位与千位相同。
*/
class Test25 {
public static void main(String[] args) {
int count = 0;
System.out.println("5位数中的回文数有:");
for(int i=10000;i<=99999;i++){
int ge = i%10;
int shi =i/10%10;
int bai = i/100%10;
int qian = i/1000%10;
int wan = i/10000;
if(ge==wan&&shi==qian){
System.out.print(i+" ");
count++;
//每行输出5个数,进行换行
if(count%5==0){
System.out.println();
}
}
}
}
}
版本二】限制输入位数
import java.util.Scanner;
class Test25 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num;
do{
System.out.println("请输入一个5位的整数:");
num = sc.nextInt();
if(num<10000||num>99999){
System.out.println("您输入的整数不符合要求,请重新输入:");
}
}while(num<10000||num>99999);
//将int类型的整数转换为字符串
String str = String.valueOf(num);
//将字符串转换为字符数组
char[] chs = str.toCharArray();
if(chs[0]==chs[4]&&chs[1]==chs[3]){
System.out.println(num+"是回文数");
}else{
System.out.println(num+"不是回文数");
}
}
}
版本三】不限制位数
import java.util.Scanner;
class Test25 {
public static void main(String[] args) {
//版本三
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个正整数");
long num = sc.nextLong();
boolean flag = true;
//将长整型的数字转换为字符串
String str = Long.toString(num);
//将字符串转换为字符数组
char[] ch = str.toCharArray();
for(int i=0;i<ch.length;i++){
//判断第i个字符和倒数第i个字符是否相等
if(ch[i]!=ch[ch.length-1-i]){
flag = false;
}
}
if(flag){
System.out.println(num+"是回文数");
}else{
System.out.println(num+"不是回文数");
}
}
}