检查字符串是否是回文

时间:2016-11-28 23:24:51

标签: java boolean palindrome

我想使用布尔来检查字符串是否是回文。我收到了一个错误,不确定我做错了什么。我的程序已经有3个字符串,以前由用户估算。谢谢,我也在使用java

 public  boolean isPalindrome(String word1, String word2, String word3){

 int word1Length = word1.length();
 int word2Length = word2.length();
 int word3Length = word3.length();

 for (int i = 0; i < word1Length / 2; i++)
{
    if (word1.charAt(i) != word1.charAt(word1Length – 1 – i))
    {
        return false;
 }
}
return isPalindrome(word1);
}

for (int i = 0; i < word2Length / 2; i++)
{
if (word2.charAt(i) != word2.charAt(word2Length – 1 – i))
    {
        return false;
    }
 }
 return isPalindrome(word2);
}
 for (int i = 0; i < word3Length / 2; i++)
{
if (word3.charAt(i) != word3.charAt(word3Length – 1 – i))
{
return false;
}
}
return isPalindrome(word3);
}

  // my output should be this
 if (isPalindrome(word1)) {
  System.out.println(word1 + " is a palindrome!");
  }
  if (isPalindrome(word2)) {
  System.out.println(word2 + " is a palindrome!");
   }
  if (isPalindrome(word3)) {
  System.out.println(word3 + " is a palindrome!");
  }

1 个答案:

答案 0 :(得分:2)

你可以这样做一个方法:

首先构建一个新的String,然后检查它是否相等。

private static boolean test(String word) {
    String newWord = new String();      
    //first build a new String reversed from original
    for (int i = word.length() -1; i >= 0; i--) {           
        newWord += word.charAt(i);
    }       
    //check if it is equal and return
    if(word.equals(newWord))
        return true;        
    return false;       
}

//You can call it several times
test("malam"); //sure it's true
test("hello"); //sure it's false
test("bob"); //sure its true