Java 检查字符串是否为回文
我编写这个方法是为了检查给定的字符串是否是回文,根据结果,我实现了一个if-else语句来打印一些内容。我知道字符串是回文,但我得到的结果与我预期的不同。以下是java代码:Java 检查字符串是否为回文,java,palindrome,Java,Palindrome,我编写这个方法是为了检查给定的字符串是否是回文,根据结果,我实现了一个if-else语句来打印一些内容。我知道字符串是回文,但我得到的结果与我预期的不同。以下是java代码: public class Palindrom { public static void main(String[] args){ String palindrome = "DOT SAW I WAS TOD"; String result = ""; for(int
public class Palindrom {
public static void main(String[] args){
String palindrome = "DOT SAW I WAS TOD";
String result = "";
for(int i = palindrome.length() - 1; i > 0; i--){
result = result + palindrome.charAt(i);
}
if (result == palindrome){
System.out.println("Yes it is a palindrome");
} else {
System.out.println("No it is not palindrome");
}
}
} //No it is not palindrome
我怀疑问题出在result==
回文上。这是不是因为我在比较两个不同的对象而变得错误?我应该用什么方法来解决这些问题?您不应该使用“==”
试试这个
public class Palindrom {
public static void main(String[] args){
String palindrome = "DOT SAW I WAS TOD";
String result = "";
for(int i = palindrome.length() - 1; i >= 0; i--){
result = result + palindrome.charAt(i);
}
if (result.equals(palindrome)){
System.out.println("Yes it is a palindrome");
}else{
System.out.println("No it is not palindrome");
}
}
}
您必须递减到
i>=0
您必须在字符串上使用等于,而不是==
result.equals(palindrome);
在Java中比较字符串时不能使用==,在这种情况下,必须使用
String.equals(String)
result.equals(回文)代码>您可以使用result.equalsIgnoreCase(回文)<代码>结果==回文
检查这些是相同的字符串对象,而不是具有相同内容的两个字符串。
result.equals(palindrome);