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; } }