Java等级计算器2

时间:2014-12-13 04:51:08

标签: java string double runtime-error calculator

这是我的代码:

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给我的行与字符串输入无关。如果有人知道如何解决这个问题,我将非常感激。感谢。

0 个答案:

没有答案