我正在用 Java 编写代码来检查字符串是否是回文。但是,当涉及空格时,代码会中断


import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String original, reverse = "";
original = scnr.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("palindrome: " + original);
}
else{
System.out.println("not a palindrome: " + original);
}
}
}

我需要能够考虑使用空格的超过1个单词的字符串。我不确定如何首先忽略空格的位置,然后将它们添加回正确的位置,以正确地测试短语是否为回文。

,除非你有非常具体的需求可以使用StringBuilder扭转字符串,不需要手动处理. .

public class LabProgram {
public static void main(String[] args) {

Scanner scnr = new Scanner(System.in);
String original = scnr.nextLine(); 

StringBuilder sb = new StringBuilder();
sb.append(original);
String reverse = sb.reverse().toString();
if (original.equals(reverse)){
System.out.println("palindrome: " + original);
}else{
System.out.println("not a palindrome: " + original);
}
}
}

相关内容

最新更新