Лично я бы придерживался единого подхода к пользовательскому опыту. Если вы собираетесь использовать JOptionPane
для отображения диалогового окна, то вам следует собирать информацию также с помощью графического интерфейса.
Я бы сделал (обратите внимание, что по соглашению переменные Java имеют значение camelCase, начинающееся с нижнего регистра):
String id = JOptionPane.showInputDialog("Enter Student's ID:");
// NOTE: need to check for null if canceled
// NOTE: should verify the input/format
Сообщение об ошибке отмечено в комментарии, потому что Java Scanner
с заглавной буквой. Не уверен, что это за вещь.
Однако, если кто-то хочет использовать Scanner
, создайте только один экземпляр:
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the Students ID: ");
String ID = scanner.nextline();
System.out.println("You have selected Student" + ID);
System.out.println("Enter the Students Mark");
String mark = scanner.nextLine();
System.out.println("You Have Entered" + mark);
...
Обратите внимание, что для входа сканера существуют такие же ограничения проверки входных данных.