ID number checking program
題目說明
<1101檢定考題>
因應疫情嚴峻,到賣場與超市消費都要以身分證號進行管制,然而身分證號的產生是有一個邏輯性的。
有效身分證號檢查步驟如下:
- 身分證共10碼,第1碼為大寫A到Z,第2~10碼為阿拉伯數字
身份證字號(連同英文字母共 10 碼)中的每碼代表的意義如下:以 A123456789 為例
接下來將第一個英文字母轉換成數字,轉換規則如下
轉換後的 2 位數字連同性別代碼和流水編號(不包含檢查碼)共有 10 個位數,將每個位數由左至右依照 ×1、×9、×8、×7、×6、×5、×4、×3、×2、×1 的順序相乘。
將上個步驟的10個乘積相加後除以10並取其餘數。再用10減去該餘數後即得檢查號碼(若餘數為 0 時,則設定其檢查碼為 0),
若驗證碼與身份證相符則該身分證字號即為有效證號。
輸入
由鍵盤輸入身分證號,每筆輸入需先檢查是否10碼,第1碼是否為大寫字母、第2~10碼為阿拉伯數字。如有錯誤需顯示在螢幕上。
輸出
確認符合身分證格式後,再運用上述驗證公式進行檢查並輸出至螢幕。
sample input & output
輸入 | 輸出 | |
---|---|---|
樣本1 | A22335674 | 身分證號非10碼 |
樣本2 | m223014456 | 身分證號首碼有誤 |
樣本3 | K103B76743 | 身分證號數字部分有誤 |
樣本4 | C214556805 | 為有效的身分證字號 |
樣本5 | F108011332 | 為有效的身分證字號 |
Comments
第五筆測資有誤 曾經通過的程式碼現在無法通過
給不會的人做參考,我花了超多時間在改 import java.util.Scanner;
public class test_3 {
}