2012-04-10 16 views
4

Ich muss überprüfen, ob ein Zeichen ein Apostroph ist. Dies ist mein Code so weit:Wie überprüft man, ob ein Zeichen ein Apostroph ist?

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

Aber es wird nie tatsächlich in den if ((char) c == '\'') Teil. Ist etwas falsch mit der Art, wie ich es überprüfe? Vielen Dank!

+1

Dieser Code sieht für mich gut aus; Ihr Problem muss woanders liegen. –

+0

Es ist nicht notwendig, 'c' auf ein' char' zu übertragen. –

+1

Keine Antwort an sich, aber die Analyse flacher Zeichen weist auf ein paar potentielle Anti-Muster hin. Haben Sie [Java's reguläre Ausdrucksmöglichkeiten] (http://docs.oracle.com/javase/tutorial/essential/regex/) für Ihre Bedürfnisse in Erwägung gezogen? – MrGomez

Antwort

3

Sie könnten einfach if(c=='\'') ohne Besetzung verwenden. Oder Sie können ascii Wert von Apostroph verwenden, der 39 ist. if (c==39) wird tun.

es wird nie wirklich in die 'if ((char) c == '\'') Teil

Der einzige aus diesem Grund konnte man nie Apostroph isWordCharacter() übergeben. Sie können dies überprüfen, indem Sie manuell 39 oder '\'' an diese Funktion senden.

Verwandte Themen