这是我的代码:
package gradecalculator;
import java.util.Scanner;
public class GradeCalculator
{
public static void main(String[] args)
{
String categoryName = null;
double categoryGrade;
double categoryWorth;
double Grade = 0;
String[] nameArray = new String[10];
double[] gradeArray = new double[10];
double[] worthArray = new double[10];
double[] categoryArray = new double[10];
int c = 0;
int c1 = 0;
Scanner entry = new Scanner(System.in);
while(!(categoryName = entry.next()).equals("Quit"))
{
categoryGrade = entry.nextDouble();
gradeArray[c] = categoryGrade;
categoryWorth = entry.nextDouble();
worthArray[c] = categoryWorth;
categoryName = entry.nextLine();
nameArray[c] = categoryName;
categoryArray[c] = finalCategory(categoryGrade, categoryWorth);
c++;
}
while(c != 0)
{
System.out.printf("%S:\t%f%%\tWorth: %f\n", nameArray[c1], gradeArray[c1], worthArray[c1]);
c--;
c1++;
}
while(c1 != 0)
{
Grade = Grade + categoryArray[c];
c1--;
c++;
}
}
public static double finalCategory(double Grade, double Worth)
{
return (Grade * (Worth / 100));
}
}
输入第3个输入(categoryName)后会出现错误 - 它出现在第29行:
categoryWorth = entry.nextDouble();
错误:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextDouble(Scanner.java:2413)
at gradecalculator.GradeCalculator.main(GradeCalculator.java:26)
Java Result: 1
我不确定导致错误的是什么,考虑到Netbeans给我的行与字符串输入无关。如果有人知道如何解决这个问题,我将非常感激。感谢。