我将其视为错误:
线程“main”中的异常 java.lang.NumberFormatException:对于输入字符串:“q”
在 java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source )
在 java.lang.Integer.parseInt(Unknown Source)
atexists.GPACalculator.main(GPACalculator.java:53)
public static void main(String[] args)
{
String input = "";
String letterGrade = "";
String creditHour = "";
int credits = 0;
int points = 0;
int course = 1;
int gpa;
String grade = "";
String greeting = "Hello, this program will calculate your GPA. You will be asked \n"+
"to enter your letter grade for each class, then you will be asked to enter \n"+
"the corresponding number of credits for that class. Once all the grades and \n"+
"credits have been entered, the program will display your GPA.";
JOptionPane.showMessageDialog(null,greeting,"Greeting - Introduction",1);
String gradePrompt = "Enter your letter grade (A, B, C, D, F)\n"+
"Press \"Q\" to quit and display your results";
String creditPrompt = "Enter the credit hours for course "+course+" (0, 1, 2, 3, 4, 5, 6)\n\n"+
"Press \"Q\" to quit and display your results";
do
{
input = JOptionPane.showInputDialog(null,gradePrompt,"Enter grade",1);
letterGrade += input.toUpperCase();
input = JOptionPane.showInputDialog(null,creditPrompt,"Enter credit hours",1);
creditHour += input.toUpperCase();
course++;
if(input.toUpperCase().equals("Q"))
continue;
credits = Integer.parseInt(input);
switch (grade) {
case "A": points = 4;
break;
case "B": points = 3;
break;
case "C": points = 2;
break;
case "D": points = 1;
break;
case "F": points = 0;
break;
}
//input = JOptionPane.showInputDialog(null,"Do you want to quit? (Press Q "+
// "to quit, no to continue)" ,"Do you want to quit?",1);
}while(!input.toUpperCase().equals("Q"));
input = input.substring(0,input.length()-1);
gpa = points / credits;
String results = "The courses you entered are:\n\n"+
"Grade "+"Hours \n\n"+
letterGrade+" \n\n"+creditHour+"\n\n"+
"Resulting in a GPA of "+gpa+"\n\n"+
"This program will now terminate!";
JOptionPane.showMessageDialog(null, new JTextArea(results),
"GPA results",1);
}
}