I keep getting an error for this code I am working o. I would greatly appreciate anyone that can point out the problem I am having with this code. I have been working on it for hours with no luck. The error is below:
Exception in thread "main" java.util.InputMismatchException
The code that I have is as follows, it isn't working and I am very confused at the moment.
Scanner scnr = new Scanner(System.in);
int Soccer = 5;
int[] jerseyNum = new int[Soccer];
int[] ratingNum = new int[Soccer];
int i = 0;
char menuChar = 'b';
int changedPlayer = 0;
int newRating = 0;
int ratingAbove = 0;
for (i = 0; i < Soccer; ++i) {
System.out.println("Enter player " + (i + 1) + "'s jersey number:");
jerseyNum[i] = scnr.nextInt();
System.out.println("Enter player " + (i + 1) + "'s rating:");
ratingNum[i] = scnr.nextInt();
System.out.println("");
}
System.out.println("ROSTER");
for (i = 0; i < Soccer; ++i) {
System.out.println("Player " + (i + 1) + " -- Jersey number: " +
jerseyNum[i] + ", Rating: " + ratingNum[i]);
}
while (menuChar != 'q') {
if (menuChar == 'o') {
System.out.println("ROSTER");
for (i = 0; i < Soccer; ++i) {
System.out.println("Player " + (i + 1) + " -- Jersey number: " +
jerseyNum[i] + ", Rating: " + ratingNum[i]);
}
}
if(menuChar == 'a'){
System.out.println("Enter a rating:");
int rating = scnr.nextInt();
System.out.println("ABOVE " + rating);
for (i = 0; i < Soccer; ++i) {
if(ratingNum[i] > rating) {
System.out.println("Player " + (i + 1) + " -- Jersey number: " +
jerseyNum[i] + ", Rating: " + ratingNum[i]);
}
}
}
if(menuChar == 'u'){
System.out.println("Enter a jersey number:");
int jerseynumber = scnr.nextInt();
System.out.println("Enter a new rating for player:");
int rating = scnr.nextInt();
for (i = 0; i < Soccer; ++i) {
if(jerseyNum[i] == jerseynumber) {
ratingNum[i] = rating;
System.out.println("updated player");
System.out.println("Player " + (i + 1) + " -- Jersey number: " +
jerseyNum[i] + ", Rating: " + ratingNum[i]);
}
}
}
if(menuChar == 'r'){
System.out.println("Enter a jersey number:");
int jerseynumber = scnr.nextInt();
System.out.println("Enter a new jersey number:");
int newjerseynumber = scnr.nextInt();
System.out.println("Enter a rating for the new player:");
int rating = scnr.nextInt();
for (i = 0; i < Soccer; ++i) {
if(jerseyNum[i] == jerseynumber) {
jerseyNum[i] = newjerseynumber;
ratingNum[i] = rating;
System.out.println("raplaced player");
//System.out.println("Player " + (i + 1) + " -- Jersey number: " +
jerseyNum[i] + ", Rating: " + ratingNum[i]);
}
}
}
System.out.println("");
System.out.println("MENU");
System.out.println("u - Update player rating");
System.out.println("a - Output players above a rating");
System.out.println("r - Replace player");
System.out.println("o - Output roster");
System.out.println("q - Quit");
System.out.println("");
System.out.println("Choose an option:");
menuChar = scnr.next().charAt(0);
}
return;
}
}