標題:
[無宣告集合.陣列]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
import java.util.*;
public class Test01_0314 {
public Test01_0314() {
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String strA = "ABCDEFGHJFLMNPQRSTUVWXYZIO";
String GN = s.next();
GN = strA.indexOf(GN.charAt(0)) + 10 + GN.substring(1,GN.length());
int a = Integer.valueOf(GN.charAt(0) + "") + Integer.valueOf(GN.charAt(GN.length() - 1) + "");
for(int i = 1 ; i <= 9 ; i++){
a += Integer.valueOf(GN.charAt(i) + "") * (GN.length() - i - 1);
}
if(a % 10 == 0)
System.out.println("身分證字號正確");
else
System.out.println("身分證字號錯誤");
}
}
複製代碼
歡迎光臨 戰略要地 (http://urbase.net/bbs2/)
Powered by Discuz! 7.2