代码功能
接收用户输入的字符串,检查该字符串是否为回文(即正序和倒序读取都相同),然后输出检查结果。
代码
import java.util.Scanner;
public class PalindromeChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter a string to check if it's a palindrome:");
String input = scanner.nextLine();
boolean isPalindrome = isPalindrome(input);
System.out.println("The string is a palindrome: " + isPalindrome);
scanner.close();
}
/**
* 检查字符串是否是回文
* @param str 需要检查的字符串
* @return 如果字符串是回文则返回true,否则返回false
*/
public static boolean isPalindrome(String str) {
int left = 0; // 指向字符串的开始
int right = str.length() - 1; // 指向字符串的末尾
// 使用双指针从两端向中间遍历
while (left < right) {
// 如果对应位置的字符不相同,则不是回文
if (str.charAt(left) != str.charAt(right)) {
return false;
}
// 移动指针,继续比较
left++;
right--;
}
// 所有字符都相同,是回文
return true;
}
}