Board logo

標題: [無宣告集合.陣列]Java身分證字號驗證器 [打印本頁]

作者: 零售商    時間: 2012-3-14 21:26     標題: [無宣告集合.陣列]Java身分證字號驗證器

本帖最後由 零售商 於 2012-3-14 23:05 編輯
不包含例外處理,輸入的身份證字號第一個字要是大寫

今天的傑作,較http://urbase.net/bbs/post.php?a ... id=13951&page=1短很多
且無宣告集合和陣列,只宣告了String 跟 int變數,還望各位指教.

驗證法參考:http://zh.wikipedia.org/zh-tw/%E ... B%E5%88%86%E8%AD%89

感謝老師:
1.字元轉字串:char + ""
2.charAt出字元需先轉字串再轉整數,要不A會轉成65、Z會轉成90
  1. import java.util.*;
  2. public class Test01_0314 {
  3. public Test01_0314() {
  4.     }
  5. public static void main(String[] args) {
  6. Scanner s = new Scanner(System.in);
  7. String strA = "ABCDEFGHJFLMNPQRSTUVWXYZIO";
  8. String GN = s.next();
  9. GN = strA.indexOf(GN.charAt(0)) + 10 + GN.substring(1,GN.length());
  10. int a = Integer.valueOf(GN.charAt(0) + "") + Integer.valueOf(GN.charAt(GN.length() - 1) + "");
  11. for(int i = 1 ; i <= 9 ; i++){
  12.    a +=  Integer.valueOf(GN.charAt(i) + "") * (GN.length() - i - 1);
  13. }
  14. if(a % 10 == 0)
  15.     System.out.println("身分證字號正確");
  16. else
  17.     System.out.println("身分證字號錯誤");
  18.     }
  19. }
複製代碼





歡迎光臨 戰略要地 (http://urbase.net/bbs2/) Powered by Discuz! 7.2