- 積分
- 1235
- 要地威望
- 225
- 通用貨幣
- 25
- 要地貢獻
- 200
|
[無宣告集合.陣列]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("身分證字號錯誤");
- }
- }
複製代碼 |
|