2013-02-02 10 views
5

jak sprawdzić list, w J2ME z charjak sprawdzić list, w J2ME z char

IN J2SE możemy wykorzystać Character.isLetter (c)

chcę użyć tego : if (Character.isLetter(c) && Character.isUpperCase(c)){} a także else if(Character.isSpace(c))

w Javie platformy mobilnej Każdy sposób go używać ??

+1

Czy jesteś pewien, że nie można go używać? – supersam654

+1

Znak jest klasą opakowania dla char. A "isLetter()" to metoda sprawdzania, czy dana postać jest literą. J2ME go nie obsługuje. potrzebujesz ręcznej metody do pracy z isLetter()? – ChamathPali

Odpowiedz

6

Widząc, że nie możesz użyć Character.isLetter(c), po prostu naśladowałbym jego działanie. Zrobiłbym to, traktując postać jako "liczbę", używając jej ASCII value.

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: Dziękuję @Nate za sugestie/korekty

+0

CLDC 1.1/MIDP 2.0 mają 'isUpperCase()' i 'isLowerCase()', więc nie ma potrzeby ich wdrażania. Również twoja 'isUpperCase()' zwraca 'true', jeśli" c "jest małe. A następnie powinieneś sprawdzić 'c <123' lub' c <= 122'. A J2SE [wersja isSpace()] (http://docs.oracle.com/javase/6/docs/api/java/lang/Character.html#isSpace%28char%29) sprawdza więcej niż tylko '(char) 32'. Istnieją cztery inne znaki, które kwalifikują się jako * spacja *. – Nate