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