2015-10-30 53 views
1

我不知道爲什麼下面的方法不工作。它顯示:檢查一個字符串是否是一個迴文(使用方法)

Palindrome.java:97: error: <identifier> expected

的方法,需要一個參數是一個字符串,並且應該返回truefalse如果所提供的字符串是迴文。

public static boolean checkPalindrome(checkString) { 
    boolean test = true; 
    int left = 0; 
    int right = checkString.length() - 1; 
    while (left < right && test) { 
     if (checkString.charAt(left) != checkString.charAt(right)) { 
      test = false; 
     } 
     right--; 
     left++; 
    } 
    return test; 
} 
+0

你是什麼意思的「不工作」?它做什麼,它不應該這樣做?任何錯誤? – RealSkeptic

+0

當您發佈問題時,您的方法中沒有數據類型。這是一個錯字嗎? – sam

+0

@Tunaki除了縮進之外,你不應該改變源代碼。你只是刪除了問題的原因。 – RealSkeptic

回答

3

錯誤之前的數據類型,它應該是:

public static boolean checkPalindrome(String checkString) 

你必須提供的數據類型之前參數^

3

問題是此行

public static boolean checkPalindrome(checkString) 

應該

public static boolean checkPalindrome(String checkString) 

只是一個建議,但你也可以減少你使用

int len = checkString.length(); 
for (int i = 0; i < len/2; i++) { 
    if (checkString.charAt(i) != checkString.charAt(len - i -1)) { 
     return false; 
    } 
} 
return true; 
+0

感謝兄弟,那是更高效:) :) –

+0

高效?不,因爲這個for循環以及你的while循環迭代直到'length/2'。可讀?是 – sam

3

我覺得變數你在第一行犯了一個錯誤,它應該是:

public static boolean checkPalindrome(String checkString) 

你必須提供在第一線的參數M

相關問題