身分證字號由10個符號組成, 第一個為大寫的A-Z, 後面八個為0-9的數字, 最後一個為檢查碼. 檢查碼是由下面的規則計算出來的:
首先依下表將第一個字母轉成長度為2的十進位整數

 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z
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
令此數的十位數為X1,個位數為X2;( 如A:X1=1 , X2=0 );其餘8個字母轉成相對應的 整數0-9, 令其為c[1] ~ c[8] ,
則檢查碼Y = (10 - (X1 + 9*X2 + 8*c[1] + 7*c[2] + 6*c[3] + 5*c[4] + 4*c[5] + 3*c[6] + 2*c[7]+ 1*c[8]) % 10 ) % 10

寫一個程式由命令列輸入一個字串, 並判斷是否為合法的身分證字號

例如下達下面的命令, 會在螢幕上印出合法或不合法的訊息

java Check C123456789
請注意此程式應能判斷任何形式的字串, 包括長度不為10的狀況.