如果所有字母都是相同的大小写且没有空格,那么此代码目前会检查它是否是回文。我试图让它忽略非alpha和white空格。
import java.util.*;
public class PalindromeTester
{
public static void main(String args[])
{
String original, reverse = "";
Scanner in = new Scanner(System.in);
System.out.println("Enter a string to check if it is a palindrome");
original = in.nextLine();
int length = original.length();
for ( int i = length - 1; i >= 0; i-- )
reverse = reverse + original.charAt(i);
if (original.equals(reverse))
System.out.println("Entered string is a palindrome.");
else
System.out.println("Entered string is not a palindrome.");
}
}
答案 0 :(得分:1)
将变量“original
”设置为下一行文本后,可以调用replaceAll()
字符串方法以使用说明符参数去除任何不需要的字符。此外,您可以致电toLowerCase()
以获取所有小写字符串。
String original, reverse = "";
Scanner in = new Scanner(System.in);
System.out.println("Enter a string to check if it is a palindrome");
original = in.nextLine();
original = original.replaceAll("[^a-zA-Z]","").toLowerCase();
replaceAll()
使用正则表达式搜索指定的文本,并将其替换为第二个参数值。
以下是回文“赛车”的快速示例:
String original = "rA89293cEC@Ar";
original = original.replaceAll("[^a-zA-Z]","").toLowerCase();
System.out.println(original);