2013-02-02 4 views
5

wie zu prüfen, ob ein Brief in J2ME von einem charwie ein Brief in J2ME von einem char

IN J2SE überprüfen wir Character.isLetter (c)

verwenden kann ich diese nutzen möchten : if (Character.isLetter(c) && Character.isUpperCase(c)){} und else if(Character.isSpace(c))

IN JAVA Mobile-Plattform auch eine Möglichkeit, es zu benutzen ??

+1

Sind Sie sicher, dass Sie es nicht verwenden kann? – supersam654

+1

Character ist die Wrapper-Klasse für char. Und 'isLetter()' ist eine Methode, um zu überprüfen, ob das angegebene Zeichen ein Buchstabe ist. J2ME unterstützt es nicht. Brauchen Sie eine manuelle Methode, um die Arbeit von isLetter() zu erledigen? – ChamathPali

Antwort

6

Da Sie Character.isLetter(c) nicht verwenden können, würde ich nur seine Funktion emulieren. Ich würde dies tun, indem ich das Zeichen als eine "Nummer" behandle, indem ich seine ASCII value benutze.

public static boolean isLetter(char c) { 
    return (c > 64 && c < 91) || (c > 96 && c < 123); 
} 

//Not necessary but included anyways 
public static boolean isUpperCase(char c) { 
    return c > 64 && c < 91; 
} 

public static boolean isSpace(char c) { 
    //Accounts for spaces and other "space-like" characters 
    return c == 32 || c == 12 || c == 13 || c == 14; 
} 

Edit: Danke @Nate Sie für die Vorschläge/Korrekturen

+0

CLDC 1.1/MIDP 2.0 haben 'isUpperCase()' und 'isLowerCase()', so dass diese nicht implementiert werden müssen. Außerdem gibt 'isUpperCase() '' 'true' zurück, wenn 'c' in Kleinbuchstaben steht. Und dann sollten Sie 'c <123' oder 'c <= 122' überprüfen. Und die J2SE [Version von isSpace()] (http://docs.oracle.com/javase/6/docs/api/java/lang/Character.html#isSpace%28char%29) sucht nach mehr als nur '(char) 32 '. Es gibt vier andere Zeichen, die als * Leerzeichen * gelten. – Nate