请编写Java程序,从键盘输入字符串,利用递归方法判断字符串是否是回文
时间: 2025-01-22 09:59:43 浏览: 49
回文是指正读反读都一样的字符串,如"level"、"madam"等。下面是一个简单的Java程序,它使用递归来检查用户输入的字符串是否是回文:
```java
import java.util.Scanner;
public class PalindromeChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String input = scanner.nextLine();
if (isPalindrome(input)) {
System.out.println(input + " 是回文字符串。");
} else {
System.out.println(input + " 不是回文字符串。");
}
}
// 递归函数,用于判断字符串是否是回文
private static boolean isPalindrome(String str) {
// 如果字符串长度小于等于1,它是回文的
if (str.length() <= 1) {
return true;
}
// 比较首尾字符,如果不同则不是回文,返回false
if (str.charAt(0) != str.charAt(str.length() - 1)) {
return false;
}
// 如果首尾字符相同,去掉它们继续检查剩余部分,直到只剩下一个字符
return isPalindrome(str.substring(1, str.length() - 1));
}
}
```
在这个程序中,`isPalindrome()` 方法通过不断比较字符串的第一个字符和最后一个字符,然后递归地移除这两个字符,直到字符串只剩下单个字符或为空。如果整个过程都没有发现字符不同,那么原字符串就是回文。
阅读全文
相关推荐




















