- 最後登錄
- 2024-4-29
- 在線時間
- 0 小時
- 註冊時間
- 2008-3-2
- 閱讀權限
- 100
- 精華
- 0
- UID
- 3644581
- 帖子
- 611
- 積分
- 15940 點
- 潛水值
- 48290 米
| 若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com 我手邊只有身分證檢查,你可以參考看看- import java.util.*;
- class Test{
- String id;
- void show(String id){
- this.id=id;
- //先檢查是否為1英文9數字
- if(!id.matches("[a-zA-z]\\d{9}")){
- System.out.println("格式錯誤");
- }
- else{
- if(this.checkID(id)==0)//呼叫checkID,檢驗正確傳回0
- System.out.println("檢核通過");
- else
- System.out.println("這是一組不正確的身份證!!");
- }
- }
- int checkID(String id){
- id=id.toUpperCase();//轉成大寫
- char first =id.charAt(0);//取出第一個字母
-
- //A-Z的對應數字
- int [] idnum={10,11,12,13,14,15,16,17,34,18,19,20,21,
- 22,35,23,24,25,26,27,28,29,32,30,31,33};
- id=idnum[first-'A']+id.substring(1);//轉成11碼的字串
- int sum=id.charAt(0)-'0';//先把第一碼放到sum中
- //計算第二碼到第十碼的加總
- for(int i=1;i<10;i++){
- sum+=id.charAt(i)*(10-i);
- }
- // 10-加總的尾數要等於第11碼
- int checknum=(10-sum%10)%10;
- if(checknum==id.charAt(10)-'0')
- return 0;//正確
- else
- return 1;//錯誤
- }
- }
- public class Pwd {
- public static void main(String[] args) {
- System.out.print("請輸入身分證字號: ");
- Scanner scanner=new Scanner(System.in);//取得使用者輸入
- String id=scanner.next();
-
- Test c=new Test();
- c.show(id);//呼叫該方法並傳入使用者輸入的號碼
- }
- }
複製代碼 ... |
|