Java基础算法题(25):一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

查看所有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位,无法进行计算,请重新输入...");
        }
    }
}

你可能感兴趣的:(Java算法题)