题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
思路:将这个5位数进行拆分,然后对各位的数值进行比较。
package com.ftl;
import java.util.Scanner;
public class HuiWen {
public static void main(String[] args) {
// 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
Scanner scanner=new Scanner(System.in);
HuiWen hw=new HuiWen();
System.out.println("请输入一个5位数:");
int n = scanner.nextInt();
hw.huiwen1(n);
System.out.println("请输入一个字符串:");
String str = scanner.next();
hw.huiwen2(str);
scanner.close();
}
//一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
public void huiwen1(int n) {
int a=n/10000;
int b=n%10000/1000;
int c=n%1000/100;
int d=n%100/10;
int e=n%10;
if (a==e&&b==d) {
System.out.println(n+"是回文数");
}else {
System.out.println(n+"不是回文数");
}
}
//延伸:判断一个不定长的字符串是否是回文字符串
public void huiwen2(String str) {
String[] strings = str.split("");
boolean b=true;
for (int i = 0; i < strings.length/2; i++) {
if (!strings[i].equals(strings[strings.length-i-1])) {
b=false;
}
}
if (b) {
System.out.println(str+"是回文字符串!");
} else {
System.out.println(str+"不是回文字符串!");
}
}
}
控制台输出情况: