このプログラムの行は、文字列が 5 文字であり、文字 "u" で始まることを確認するために文字列をテストすることを想定しています。現在、テストの 2 番目の部分ではなく、文字列が 5 文字かどうかのみをテストしていますか?
String UID;
do {
System.out.println("Enter the Student's UID in the form of u####");
UID = input.nextLine();
if (UID.length() != 5) {
System.out.println("INCORRECT INPUT");
}
} while (UID.length() != 5 && UID.charAt(0) != 'u');
return UID;
}