2013-02-02 13 views
5

如何在J2ME從一個char如何從一個字符在J2ME檢查通知書

J2SE中我們可以使用 Character.isLetter(C)

檢查通知書我想用這個: if (Character.isLetter(c) && Character.isUpperCase(c)){}else if(Character.isSpace(c))

在Java移動平臺 任何使用它的方式?

+1

你肯定你不能使用它? – supersam654

+1

Character是char的包裝類。 'isLetter()'是檢查給定字符是否是字母的方法。 J2ME不支持它。需要手動方法來完成isL​​etter()的工作? – ChamathPali

回答

6

鑑於你不能使用Character.isLetter(c),我只是模仿它的功能。我會通過使用它的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; 
} 

編輯:謝謝@Nate的意見/更正

+0

CLDC 1.1/MIDP 2.0具有'isUpperCase()'和'isLowerCase()',所以不需要實現這些。另外,如果'c'是小寫,你的'isUpperCase()'返回'true'。然後,你應該檢查'c <123'或者'c <= 122'。而J2SE [版本isSpace()](http://docs.oracle.com/javase/6/docs/api/java/lang/Character.html#isSpace%28char%29)不僅檢查'(焦炭)32'。還有另外四個字符被認定爲* space *。 – Nate

相關問題