From e842f657206b8829fdbdf35ab289a8b2254ec376 Mon Sep 17 00:00:00 2001 From: kellytang Date: Wed, 6 Jul 2022 12:37:44 +0800 Subject: [PATCH] update --- tutorial/ValidateHKID.java | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tutorial/ValidateHKID.java diff --git a/tutorial/ValidateHKID.java b/tutorial/ValidateHKID.java new file mode 100644 index 0000000..1ff200b --- /dev/null +++ b/tutorial/ValidateHKID.java @@ -0,0 +1,36 @@ +package tutorial; + +import java.util.Scanner; + +public class ValidateHKID { + public static void main(String[] args) { + + Scanner input = new Scanner(System.in); + System.out.println("Please enter your first 7 character of your HKID card number."); + String str = input.nextLine(); + + char[] strHKID; + int int_Sum; + int int_Code; + strHKID = str.toCharArray(); + strHKID[0] = Character.toUpperCase(strHKID[0]); + int_Sum = ( (int)strHKID[0] -64 ) *8; + int_Sum = int_Sum + ( (int)strHKID[1] -48 ) *7; + int_Sum = int_Sum + ( (int)strHKID[2] -48 ) *6; + int_Sum = int_Sum + ( (int)strHKID[3] -48 ) *5; + int_Sum = int_Sum + ( (int)strHKID[4] -48 ) *4; + int_Sum = int_Sum + ( (int)strHKID[5] -48 ) *3; + int_Sum = int_Sum + ( (int)strHKID[6] -48 ) *2; + int_Code = 11 - ( int_Sum % 11); + + System.out.print("The HKID is: " + strHKID[0] + str.substring(1,7)); + if (int_Code == 11) { + System.out.println("(0)"); + } else if(int_Code == 10) { + System.out.println("(A)"); + } else { + System.out.println( "(" + int_Code + ")" ); + } + + } +} \ No newline at end of file