回文是指正读和反读都相同的字符串。在Java中,可以通过以下方法判断一个字符串是否为回文:
import java.util.Scanner;
public class Palindrome {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input;
do {
System.out.print("请输入一个字符串(输入stop结束):");
input = scanner.nextLine().toLowerCase().replaceAll(" ", "");
if (!input.equals("stop")) {
if (isPalindrome(input)) {
System.out.println("是回文字符串");
} else {
System.out.println("不是回文字符串");
}
}
} while (!input.equals("stop"));
scanner.close();
}
private 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;
}
}
上述代码中,我们使用了一个do-while循环来接收用户输入的字符串,直到用户输入"stop"为止。在每次输入后,我们调用isPalindrome
方法来判断字符串是否为回文。该方法使用双指针的方式,从字符串的两端开始比较字符是否相等,如果有不相等的字符,则返回false
,否则返回true
。
这个方法会删除所有空格并将字母转换为小写,以便更准确地判断回文。在判断回文时,不考虑空格和字母的大小写。
这是一个简单的回文判断程序,适用于任何输入的字符串。在实际应用中,可以根据具体需求进行扩展和优化。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云