需要分配的想法

时间:2012-11-09 06:47:51

标签: java class methods

我的作业需要帮助。我需要编写将成绩转换为成绩点的课程。如果等级有+像A +那么它将等级点增加0.3并且 - 将减少0.3。

private static final double GradePoint = 0;
private static Scanner input;

public static void main(String [] args)
{
    String grade ;      
    double GradePoint = 0;

    System.out.print("Please enter your grade:  ");
    input = new Scanner(System.in);
    grade = input.nextLine();

    switch(grade)
    {
        case "A": 
        case "a": GradePoint = 4; break;
        case "B":
        case "b": GradePoint = 3; break;
        case "C":
        case "c": GradePoint = 2; break;
        case "D":
        case "d": GradePoint = 1; break;
        case "F":
        case "f": GradePoint = 0; break;
    }    

    System.out.print("Your grade is: "+GradePoint);
}

public double getGradePoint(String grade)
{
    return GradePoint;

}

我不明白的是如何使用这种方法来计算。我还是初学者。

2 个答案:

答案 0 :(得分:1)

I have to use CLASS and method*public double getGradePoint(String grade)* to
return the grade point of grade entered.

您需要将整个代码从main()转移到getGradePoint(String grade);

您的开关案例switch(grade)也不适用于像“A +”这样的值,因为没有匹配字符串“A +”

的情况

答案 1 :(得分:0)

我很无聊,在这里没有更好的事情:)

public class GradeCalculator
{

    public static void main(String[] args)
    {
        System.out.print("Please enter your grade:  ");
        Scanner input = new Scanner(System.in);
        String grade = input.nextLine().trim();

        GradeCalculator calculator = new GradeCalculator();

        double gradePoint = calculator.getGradePoint(grade);
        System.out.print("Your grade is: " + gradePoint);
    }

    private double getGradePoint(String grade)
    {
        int score = getGradeScore(grade.charAt(0));

        double modifier = 0;

        if (grade.length() > 1)
        {
            modifier = getModifierValue(grade.charAt(1));
        }

        return score + modifier;
    }

    private int getGradeScore(char grade)
    {
        int score = 0;

        switch (grade)
        {
            case 'A':
            case 'a':
                score = 4;
                break;
            case 'B':
            case 'b':
                score = 3;
                break;
            case 'C':
            case 'c':
                score = 2;
                break;
            case 'D':
            case 'd':
                score = 1;
                break;
            case 'F':
            case 'f':
                score = 0;
                break;
        }

        return score;
    }

    private double getModifierValue(char modifier)
    {
        double value = 0;

        switch (modifier)
        {
            case '+':
                value = 0.3;
                break;
            case '-':
                value = -0.3;
                break;
        }

        return value;
    }
}