1.7 Character类
Character 類是字符數(shù)據(jù)類型 char 的包裝類。Character 類的對象包含類型為 char 的單個字段,這樣能把基本數(shù)據(jù)類型當(dāng)對象來處理,其常用方法如表 1 所示。
表 1 Character類的常用方法
| void Character(char value) | 構(gòu)造一個新分配的 Character 對象,用以表示指定的 char 值 |
| char charValue() | 返回此 Character 對象的值,此對象表示基本 char 值 |
| int compareTo(Character anotherCharacter) | 根據(jù)數(shù)字比較兩個 Character 對象 |
| boolean equals(Character anotherCharacter) | 將此對象與指定對象比較,當(dāng)且僅當(dāng)參數(shù)不是 null,而 是一個與此對象包含相同 char 值的 Character 對象時, 結(jié)果才是 true |
| boolean isDigit(char ch) | 確定指定字符是否為數(shù)字,如果通過 Character. getType(ch) 提供的字符的常規(guī)類別類型為 DECIMAL_DIGIT_NUMBER,則字符為數(shù)字 |
| boolean isLetter(int codePoint) | 確定指定字符(Unicode 代碼點)是否為字母 |
| boolean isLetterOrDigit(int codePoint) | 確定指定字符(Unicode 代碼點)是否為字母或數(shù)字 |
| boolean isLowerCase(char ch) | 確定指定字符是否為小寫字母 |
| boolean isUpperCase(char ch) | 確定指定字符是否為大寫字母 |
| char toLowerCase(char ch) | 使用來自 UnicodeData 文件的大小寫映射信息將字符參數(shù)轉(zhuǎn)換為小寫 |
| char toUpperCase(char ch) | 使用來自 UnicodeData 文件的大小寫映射信息將字符參數(shù)轉(zhuǎn)換為大寫 |
可以從 char 值中創(chuàng)建一個 Character 對象。例如,下列語句為字符 S 創(chuàng)建了一個 Character 對象。
Character character = new Character('S');CompareTo() 方法將這個字符與其他字符比較,并且返回一個整型數(shù)組,這個值是兩個字符比較后的標(biāo)準(zhǔn)代碼差值。當(dāng)且僅當(dāng)兩個字符相同時,equals() 方法的返回值才為 true。如下面的代碼:
Character character = new Character('A'); int result1 = character.compareTo(new Character('V')); System.out.println(result1); // 輸出:0 int result2 = character.compareTo(new Character('B')); System.out.println(resuit2); // 輸出:-1 int result3 = character.compareTo(new Character('1')); System.out.println(result3); // 輸出:-2例 1
在注冊會員時,需要驗證用戶輸入的用戶名、密碼、性別、年齡和郵箱地址等信息是否符合標(biāo)準(zhǔn),如果符合標(biāo)準(zhǔn)方可進行注冊。那么,下面就使用 Character 類中的一些靜態(tài)方法來完成這個程序,具體的實現(xiàn)步驟如下。
1)創(chuàng)建 Register 類,在該類中創(chuàng)建 validateUser() 方法,對用戶輸入的用戶名、密碼和年齡進行驗證,代碼如下:
public class Register {public static boolean validateUser(String uname,String upwd,String age) {boolean conUname = false; // 用戶名是否符合要求boolean conPwd = false; // 密碼是否符合要求boolean conAge = false; // 年齡是否符合要求boolean con = false; // 驗證是否通過if (uname.length() > 0) {for (int i = 0;i < uname.length();i++) {// 驗證用戶名是否全部為字母,不能含有空格if (Character.isLetter(uname.charAt(i))) {conUname = true;} else {conUname = false;System.out.println("用戶名只能由字母組成,且不能含有空格!");break;}}} else {System.out.println("用戶名不能為空!");}if (upwd.length() > 0) {for (int j=0;j<upwd.length();j++) {// 驗證密碼是否由數(shù)字和字母組成,不能含有空格if (Character.isLetterOrDigit(upwd.charAt(j))) {conPwd = true;} else {conPwd = false;System.out.println("密碼只能由數(shù)字或字母組成!");break;}}} else {System.out.println("密碼不能為空!");}if (age.length() > 0) {for (int k = 0;k < age.length();k++) {// 驗證年齡是否由數(shù)字組成if (Character.isDigit(age.charAt(k))) {conAge = true;} else {conAge = false;System.out.println("年齡輸入有誤!");break;}}} else {System.out.println("年齡必須輸入!");}if (conUname && conPwd && conAge) {con = true;} else {con = false;}return con;} }在 validateUser() 方法中,使用 for 循環(huán)遍歷用戶輸入的用戶名、密碼和年齡,對其每個字符進行驗證,判斷其是否符合要求。在驗證的過程中,分別使用了 Character 類的 isLetter() 方法、isLetterOrDigit() 方法和 isDigit() 方法。
2)編寫測試類 Test,調(diào)用 Register 類中的 validateUser() 方法,對用戶輸入的數(shù)據(jù)進行驗證,并輸出驗證結(jié)果,代碼如下:
import java.util.Scanner; public class Test {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("------------用戶注冊--------------");System.out.println("用戶名:");String username = input.next();System.out.println("密碼:");String pwd = input.next();System.out.println("年齡:");String age = input.next();boolean con = Register.validateUser(username,pwd,age);if (con) {System.out.println("注冊成功!");} else {System.out.println("注冊失敗!");}} }在 main() 方法中,通過調(diào)用 Register 類的 validateUser() 方法,獲取一個 boolean 類型的變量,即表明是否驗證通過。當(dāng)變量值為 true 時,表示驗證通過,輸出注冊成功的提示信息;否則表示驗證未通過,輸出注冊失敗的提示信息。
運行該程序,當(dāng)注冊的用戶名并非全部由字母組成時,提示“用戶名只能由字母組成, 且不能含有空格!”信息,如下所示。
------------用戶注冊-------------- 用戶名: tg_xiake 密碼: xiake 年齡: 123 用戶名只能由字母組成,且不能含有空格! 注冊失敗!當(dāng)注冊的年齡并非只有數(shù)字組成時,則提示“年齡輸入有誤!”,如下所示。
------------用戶注冊-------------- 用戶名: admin 密碼: admin 年齡: 123a 年齡輸入有誤! 注冊失敗!當(dāng)注冊的密碼并非只由數(shù)字或字母組成時,提示“密碼只能由數(shù)字或字母組成!”,如下所示。
------------用戶注冊-------------- 用戶名: admin 密碼: admin! 年齡: 25 密碼只能由數(shù)字或字母組成! 注冊失敗!如果注冊的用戶名、密碼和年齡都通過驗證,則輸出“注冊成功!”,如下所示。
------------用戶注冊-------------- 用戶名: admin 密碼: admin 年齡: 123 注冊成功!總結(jié)
以上是生活随笔為你收集整理的1.7 Character类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.27 递归算法
- 下一篇: 1.21 实例:统计商品信息