In part of my java program I read a sequence of inputs for the user.
Scanner in = new Scanner(System.in);
System.out.println();
System.out.print("Enter student name: ");
String nameParameter = in.nextLine();
System.out.print("Enter student number: ");
int studentNoParameter = in.nextInt();
System.out.print("Enter subject: ");
String subjectParameter = in.nextLine();
System.out.print("Enter level: ");
int levelParameter = in.nextInt();
int[] resultsParameter;
resultsParameter = new int[3];
System.out.println("Enter results (0 if not taken yet)...");
System.out.print("First year: ");
resultsParameter[0] = in.nextInt();
System.out.print("Second year: ");
resultsParameter[1] = in.nextInt();
System.out.print("Third year: ");
resultsParameter[2] = in.nextInt();
System.out.println();
The program compiles, however the line:
String subjectParameter = in.nextLine();
after the prompt to enter Subject, is seemingly skipped in runtime.
Instead of my output being:
Enter Subject: [User Input]
Enter Level: [User Input]
It comes out as:
Enter Subject: Enter Level: [User Input]
The following input is assigned to levelParameter, and an error results if you input something other than an integer, so it seems that the line of code has simply been skipped.
I'm very much a java novice and I'm rather confused. I know this is going to turn out to be something really simple and silly in the end though. Thank you in advance for your time.