2012-04-10 100 views
4

我需要檢查一個字符是否是一個撇號。這是到目前爲止我的代碼:如何檢查一個字符是否是一個撇號?

public boolean isWordCharacter(int c) { 
if ((char) c == '\'') 
    return true; 
else return Character.isLetter(c); 
} 

但是,它從來沒有真正進入了if ((char) c == '\'')部分。我檢查它的方式有什麼問題嗎?謝謝!

+1

這段代碼對我來說看起來很好;你的問題必須在別處。 – 2012-04-10 00:30:35

+0

不需要將'c'強制轉換爲'char'。 – 2012-04-10 00:32:48

+1

本身並不是一個答案,但平面字符解析表明有一些潛在的反模式。您是否考慮過[Java的正則表達式工具](http://docs.oracle.com/javase/tutorial/essential/regex/)? – MrGomez 2012-04-10 00:32:50

回答

3

您可以簡單地使用if(c=='\'')而無需投射。或者你可以使用39的撇號ascii值。if (c==39)會做。

它從來沒有真正進入了 '如果((焦炭)C == '\'')的部分

的唯一原因可能你永遠傳遞撇號isWordCharacter()。您可以通過手動發送39'\''來驗證該功能。

相關問題