2015-04-01 53 views
-3

作业问题作业:类记录学生成绩

写分级程序使用以下分级策略的类: 一)3个测验分级满分为10分,加权25% b)中1期中分数为100分,加权为35% c)100分中的1分为最终分数,加权40% 您的课程需要一套存取器和增变器方法,完整构造函数,默认构造函数,equals方法和一个String方法。该类应该仅包含测验,中期和末期的实例变量。 然后,编写一个测试程序,读取学生的分数并输出学生的分数和学生的记录。以及学生整个课程和最终字母等级的整体数字分数。

无论我做什么,我都会收到错误!所有的错误都是“错误:无法找到符号”如果有人能帮我弄清楚什么是错误的,我会很高兴。我花了几个小时。

这是我的方法...

import java.util.Scanner; 

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

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

    /***ACCESSOR METHODS**/ 

    public int getQuizScore() 
    { 
     return quizScore1; 
     return quizScore2; 
     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); 
    } 

    public boolean equals (StudentRecord otherStudentRecord) 
    { 
     return (quizScore1 == otherStudentRecord.quizScore1); 
     return (quizScore2 == otherStudentRecord.quizScore2); 
     return (quizScore3 == otherStudentRecord.quizScore3) ; 
     return (midtermScore == otherStudentRecord.midtermScore); 
     return (finalScore == otherStudentRecord.finalScore); 
    } 

    public int getGradeScore() 
    { 
     int gradeScore; 

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

    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() 
    { 
     return ("Grade Score is " + gradeScore + "and letter grade is " + letterGrade); 
    } 

} 

...这是我的测试程序...

import java.util.Scanner; 

public class CalculatingStudentGrade 
{ 
    public static void main(String[] args) 
    { 
     Scanner keyboard; 
     int quizScore1, quizScore2, quizScore3, midtermScore, finalScore; 

     keyboard = new Scanner(System.in); 

     System.out.println("Enter Quiz 1 score:"); 
     quizScore1 = keyboard.nextInt(); 
     System.out.println("Enter Quiz 2 score:"); 
     quizScore2 = keyboard.nextInt(); 
     System.out.println("Enter Quiz 3 score:"); 
     quizScore3 = keyboard.nextInt(); 

     StudentRecord.getQuizScore(); 
     StudentRecord.getMidtermScore(); 
     StudentRecord.getFinalScore(); 

     StudentRecord.setQuizScore(); 
     StudentRecord.setMidtermScore(); 
     StudentRecord.setFinalScore(); 

     StudentRecord.StudentRecord(); 
     StudentRecord.getGradeScore(); 
     StudentRecord.getLetterGrade(); 
    } 
} 
+0

'StudentRecord.getQuizScore();'和你的其他电话将无法工作。你需要一个StudentRecord的实例。请做'StudentRecord studentRecord = new StudentRecord();'然后'studentRecord.getQuizScore();'。 – 2015-04-01 06:17:05

+0

Btw。这段代码有太多的错误,我不知道该从哪里开始帮助你。也许你应该阅读一两个教程,然后你应该看到错误。 https://docs.oracle.com/javase/tutorial/java/javaOO/classes.html – 2015-04-01 06:26:50

+0

即使这给了我一个错误:( – 2015-04-01 06:27:35

回答

0

您不能返回多个声明这儿过得认为这将是所有测验的总和。所以把它加起来然后返回。

public int getQuizScore() 
    { 
     return quizScore1; 
     return quizScore2; 
     return quizScore3; 
    } 

代替

public int getQuizScore() 
{ 
    return quizScore1+quizScore2+quizScore3; 
} 
+0

那么我将如何返回所有3个测验分数呢?我必须得到QuizScore1,getQuizScore2和getQuizScore3? – 2015-04-01 06:12:07

+0

你想得分总和。rite ?? – Pratik 2015-04-01 06:13:54

+0

@JosephChang你必须定义一个返回值有三个属性的对象,你必须返回这个 – Jens 2015-04-01 06:15:03

相关问题