samedi 19 octobre 2019

Error when trying to convert string to integer using Integer.parseInt()

I am getting the error Exception in thread "main" java.lang.NumberFormatException: For input string: ""

I'm trying to convert a String variable to an int within the first else statement of a while loop....The error occurs at "int examScore = Integer.parseInt(userInput).

while (flag = true){
  System.out.println("Enter an exam score between " + lowRange + " and " + highRange + " or type exit. "); //asks user for an exam score within correct range     
  String userInput = scan.nextLine();

  if ((userInput.equals("exit")) || (userInput.equals("Exit")) || (userInput.equals("EXIT"))){ //checks if user enters "exit"
     flag = false; //ends while loop

  }else{      
     int examScore = Integer.parseInt(userInput); //converts user input into integer 

     if (examScore >= lowRange && examScore <= highRange){ //checks if user entered a correct test score
        totalExams += 1; //increments totalExams by 1
        totalPoints += examScore; //adds examScore total to totalPoints

        if (examScore < lowestExamScore){ //checks if the exam score entered is the lowest 
           lowestExamScore = examScore; //updates lowestExamScore variable 
        }

        else if (examScore > highestExamScore){ //checks if exam score entered is the highest 
           highestExamScore = examScore; //updates highestExamScore variable 
        }

     }else{
        System.out.println("Please enter a correct score."); //asks user to enter a correct score 
     }

  }

}//closing while loop

Aucun commentaire:

Enregistrer un commentaire