判斷回文字符串的方法


import java.util.Scanner;
//判斷回文字符串的方法
//將字符串倒置后逐一比較
public class HuiWenTest { public static void main(String[] args) { String string = ""; System.out.println("請輸入一個字符串:"); Scanner input = new Scanner(System.in); string = input.next(); StringBuffer sb = new StringBuffer(string); sb.reverse();// 將string中的字符串倒置 int count = 0; for (int i = 0; i < string.length(); i++) { if (string.charAt(i) == sb.charAt(i)) { count++; } } if (count == string.length()) { System.out.println("返回的是一個回文字符串"); } else { System.out.println("此字符串不是一個回文字符串"); } } }

 

public class HuiWenTest2 {
    //將字符串倒置后創建新字符串直接比較
    public static void main(String[] args) {
        System.out.println("請輸入一個字符串");
        Scanner input = new Scanner(System.in);
        String str = input.next();
        StringBuilder sb=new StringBuilder(str);
        sb.reverse();//將str倒置的方法
        String newStr=new String(sb);
        if(str.equals(newStr)){
            System.out.println(str+"是回文字符串");
        }else{
            System.out.println(str+"不是回文字符串");
        }
    }
}
public class HuiWenTest3 {
    //使用截取字符串的方式比較
    public static void main(String[] args) {
        System.out.println("請輸入一個字符串");
        Scanner input = new Scanner(System.in);
        String str = input.next();
        int count = 0;
        for (int i = 0; i < str.length() / 2; i++) {
        if ((str.substring(i, i + 1)).equals(str.substring(str.length() - 1- i, str.length() - i))) {
                count++;
            }
        }
        if (count == str.length() / 2) {
            System.out.println("是回文字符串");
        }else{
            System.out.println("不是回文字符串");
        }
    }
}
public class HuiWenTest4{
        //判斷回文數字(判斷純數字)
    public static void main(String[] args) {
        int n;
        System.out.println("請輸入一個整數:"); 
        // 如果結果為回文數,跳出循環
        while (true) {
            Scanner InpuNum = new Scanner(System.in);
            n = InpuNum.nextInt();
            if (isHuiWen(n)) {
                System.out.println(n + "是回文數!");
                break;
            } else {
                System.out.println(n + "不是回文數!");
            }
        }
    }


    // 判斷的數字是否是回文數
    public static boolean isHuiWen(int n) {
        int m = reverse(n);
        if (m == n) {
            return true;
        } else {
            return false;
        }
    }


    // 將輸入的數字進行倒置,以便進行判斷是否是回文數
    public static int reverse(int n) {
        int temp = 0;// 臨時變量
        int j = 0;// 倒置后的數字
        temp = n;// 將輸入的數字賦值給臨時變量
        while (temp != 0) {
            j = j * 10 + temp % 10;//依次獲取最后一位
            temp /= 10;//依次獲取最后一位后在將最后一位數字去掉,在繼續while循環
        }
        return j;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM