查看所有50道基础算法题请看:
Java的50道基础算法题
package Demo25Palindrome;
import java.util.Scanner;
public class Palindrome {
/**
* 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
*/
/*
分析:所谓回文,就是正着念跟反着念是一样的,所以我还是打算用字符串来处理
使用StringBuffer类的reverse()方法获得输入字符串的逆序结果,
使用StringBuffer类的toString()方法得到逆序的字符串结果
判断该逆序后的字符串跟用户输入的是不是equals的,是的话就是回文,否则不是回文,
*/
public static void main(String[] args) {
// 获取用户输入一个数字
Scanner sc = new Scanner(System.in);
System.out.println("请您输入一个五位以上的数:");
String numbers = sc.next();
// 对用户输入的数字进行可行性判断,大于等于5位以上再进行判断输出
if(numbers.length()>=5){
// 获取一个StringBuffer类,是为了使用其中的reverse()类
StringBuffer sb = new StringBuffer(numbers);
StringBuffer reverse = sb.reverse();
String re = reverse.toString();
// 判断用户输入的结果的逆序结果是否等于用户输入的原始数据,如果等于就是回文数,否则不是回文数
if(re.equals(numbers)){
System.out.println("您输入的数字 "+numbers+" 是回文数字...");
}else{
System.out.println("您输入的数字 "+numbers+" 不是回文数字...");
}
}else{
System.out.println("您输入的数字位数不足5位,无法进行计算,请重新输入...");
}
}
}