2015-04-01 62 views
-5

我知道我的代码中有很多错误,但是我找不到他们/不了解他们。我究竟做错了什么?创建一个班级来记录学生的成绩

更新:谢谢你的所有帮助。我已设法清除除一个之外的错误。我仍然在getGradeScore上遇到错误。

错误:无法找到符号

错误:类型


public class StudentRecord 
{ 
    /***DECLARATIONS**/ 

    private int quizScore1; 
    private int quizScore2; 
    private int quizScore3;    
    private int midtermScore; 
    private int finalScore; 

    /***ACCESSOR METHODS**/ 

    public int getQuizScore1() 
    { 
     return quizScore1; 
    } 

    public int getQuizScore2() 
    { 
     return quizScore2; 
    } 

    public int getQuizScore3() 
    { 
     return quizScore3; 
    } 

    public int getMidtermScore() 
    { 
     return midtermScore; 
    } 

    public int getFinalScore() 
    { 
     return finalScore; 
    } 

    /***MUTATOR METHODS**/ 

    public void setQuizScore(int quizScore1, int quizScore2, int quizScore3) 
    { 
     if (quizScore1 < 0 || quizScore1 > 10) 
     { 
      System.out.println("Error: Invalid Quiz Grade"); 
     } 
     if (quizScore2 < 0 || quizScore2 > 10) 
     { 
      System.out.println("Error: Invalid Quiz Grade"); 
     } 
     if (quizScore3 <0 || quizScore3 > 10) 
     { 
      System.out.println("Error: Invalid Quiz Grade"); 
     } 
     else 
     { 
      this.quizScore1 = quizScore1; 
      this.quizScore2 = quizScore2; 
      this.quizScore3 = quizScore3; 
     } 
    } 

    public void setMidtermScore(int midtermScore) 
    { 
     if (midtermScore < 0 || midtermScore > 100) 
     { 
      System.out.println("Error: Invalid Midterm Score"); 
     } 
     else 
     { 
      this.midtermScore = midtermScore; 
     } 
    } 

    public void setFinalScore(int finalScore) 
    { 
     if (finalScore < 0 || finalScore > 100) 
     { 
      System.out.println("Error: Invalid Final Score"); 
     } 
     else 
     { 
      this.finalScore = finalScore; 
     } 
    } 

    /***OTHER METHODS***/ 

    public void studentRecord() 
    { 
     quizScore1 = 0; 
     quizScore2 = 0; 
     quizScore3 = 0; 
     midtermScore = 0; 
     finalScore = 0; 
    } 

    public void studentRecord(int quizScore1, int quizScore2, int quizScore3, int midtermScore, int finalScore) 
    { 
     System.out.println("Quiz Score 1: " + quizScore1); 
     System.out.println("Quiz Score 2: " + quizScore2); 
     System.out.println("Quiz Score 3: " + quizScore3); 
     System.out.println("Midterm Score: " + midtermScore); 
     System.out.println("Final Score: " + finalScore); 
    } 

    /***EQUALS METHODS***/ 

    public boolean equalsQuizScore1 (int otherQuizScore1) 
    { 
     return (quizScore1 == otherQuizScore1); 
    } 

    public boolean equalsQuizScore2 (int otherQuizScore2) 
    { 
     return (quizScore2 == otherQuizScore2); 
    } 

    public boolean equalsQuizScore3 (int otherQuizScore3) 
    { 
     return (quizScore3 == otherQuizScore3) ; 
    } 

    public boolean equalsMidtermScore (int otherMidtermScore) 
    { 
     return (midtermScore == otherMidtermScore); 
    } 

    public boolean equalsFinalScore (int otherFinalScore) 
    { 
     return (finalScore == otherFinalScore); 
    } 

    /***GET GRADE METHODS***/ 

    public int getGradeScore() 
    { 
     int gradeScore; 

     gradeScore = (((quizScore1 + quizScore2 + quizScore3)/3)/10 * 25) + (midtermScore/100 * 35) + (finalScore/100 * 40); 

     return gradeScore; 
    } 

    public char getLetterGrade() 
    { 
     int gradeScore; 
     char letterGrade; 

     if (gradeScore >= 90 && gradeScore <= 100) 
     { 
      return 'A'; 
     } 
     else if (gradeScore >= 80 && gradeScore <= 89) 
     { 
      return 'B'; 
     } 
     else if (gradeScore >= 70 && gradeScore <= 79) 
     { 
      return 'C'; 
     } 
     else if (gradeScore >= 60 && gradeScore <= 69) 
     { 
      return 'D'; 
     } 
     else 
     { 
      return 'F'; 
     } 
    } 

    public String toString() 
    { 
     int gradeScore; 
     char letterGrade; 

     return ("Grade Score is " + gradeScore + "and letter grade is " + letterGrade); 
    } 

} 

任何帮助的非法启动表示赞赏!我花了几个小时,并无法弄清楚。我很困惑类和方法。

+0

你不能有多个返回后,你需要返回一个返回语句的一切。 – FINDarkside 2015-04-01 16:30:58

回答

0
public int getQuizScore() 

里面上面的方法你正在返回三个值,它是不可能的。只是把单独三法退货quizScore1 , quizScore2,quizScore3

如果你想要的任何帮助有关导出代码通知我

+0

感谢您的回应,我更新了代码! – 2015-04-01 18:30:37

0

^也在里面你的公众诠释getGradeScore()方法,你缺少一个int类型的return语句。如果方法不是无效的,它必须返回一些东西。在你的情况:int。

1

如果你尝试编译你的代码,你会得到大量的语法错误。这里是我发现的3个主要犯罪者和一些建议的解决方案

1)quizScore1,quizScore2和quizScore3都未申报。然而,你有一个quizScore变量。如果您想存储3个测验分数,您可以制作分数列表,也可以声明它们。我建议一个ArrayList。您还需要添加更多获取功能,每个分数一个。

2)public boolean equals (otherQuizScore)是不允许的。其他QuizScore的类型是什么?添加一个类型。

3)多重返回语句。 return语句将结束该函数。如果您连续有3个回报语句,则会运行第二个2 NEVER

代码中存在大量错误。如果你把它放到一个IDE中(如果你还没有它,建议使用Eclipse),你会看到每个错误都标有红色下划线,并带有相应的错误信息。

+0

感谢您的建议,我更新了代码! – 2015-04-01 18:30:59

+0

@JosephChang你不再有变量'quizScore'。更新你的功能来反映这一点,你的错误将消失。这是IDE将指出的所有东西,你是不是在使用它? – Aify 2015-04-01 18:35:24

+0

我的导师只希望我使用特定版本的Java。一个没有明确指出错误的人。 – 2015-04-01 18:36:14

相关问题