在哪里添加 java 类 的成员

Where to add members of java classes

实现 class 学生。出于本练习的目的,学生有姓名和测验总分。提供适当的构造函数和方法 getName()addQuiz(int score)getTotalScore()getAverageScore()。要计算后者,您还需要存储学生参加的测验数。

...

我对分数和名字特别难过。我是将分数同时添加到 Student.javaStudentTester.java 文件中,还是只添加到测试仪中?我想不通。

这是我的代码:

/** A student has taken a number of quizzes and has an average score 
based on the quizzes that were taken.
*/

public class Student
{

  private String name;
  private double totalscore;
  private int numquiz;
  }

// Constructs a student object with the name "MccStudent" and with zero total of quiz scores

 public Student(String "mccStudent")
{
  this.name = studentname;
  numquiz = 0;
  totalscore = 0;

}

public String getName() 
{
    return name;
    }


// Adds the number of quizzes taken

public void addQuiz(double quizscore)
{
 totalscore+=quizscore;
 numquiz++; 
 } 

 // Returns the total quiz score

public double getTotalScore () 
 { 
 return totalscore; 
 } 

// Returns the avaerage grade

 public double getAverageScore () 
 { 
 return totalscore/numquiz; 
 } 
 }​

/** Create a class to test the Student class.
*/
public class StudentTester
{
   /** 
   Tests the methods of the Student class.
   */

  public static void main(String[] args)

  {
  // Create an object
  Student mccStudent = new Student();

  mccStudent.addQuiz(100);
  mccStudent.addQuiz(80);
  mccStudent.addQuiz(95);
  mccStudent.addQuiz(97);

  System.out.println(mccStudent.getName());

  System.out.println(mccStudent.getTotalScore());

  // Display average quiz score

   System.out.println(mccStudent.getAverage.Score());
   }

 }​

这里有一些主要问题,其中一个是第一个大括号在声明实例变量后关闭,因此 Student 的其余代码超出了范围。删除第一个右括号,这应该会有所帮助。

另一个问题是您使用构造函数的方式(public Student(String "mccstudents") 的部分)。你需要在那里提供一个变量名,然后每当你创建一个新对象时,你传入一个字符串,它将取代变量名。

不要听起来像你的老师,你真的不应该把这个留到最后一刻为了抢先对任何数量的人写回复,这个网站旨在帮助特定问题,不分析整个程序。

是否有您不理解的特定问题和概念我可以帮助解决?

您将字段添加到 class 本身 (Student.java)。

只有执行测试的代码才能出现在测试中 class (StudentTester.java)。

首先试着理解什么是Constructor。这是带有很好示例的 oracle 文档:Constructor。我会为你写一个简单的例子。 Student 是具有字符串名称属性的新对象。

public class Student {

  public String name; //name of student

  public Student(String name) {//Constructor for student, receiving name when u create new object Student
    this.name = name; //set received name to this public String name
  }


  /**
   * When u call this method you will get inputed name from constructor
   * so if u call Student stud = new Student("John");
   * new Student("John") is constructor!
   * with stud.getName(); you will get "John".
   * This is called getter.
   * @return name of student
   */
  public String getName() {
      return name;
  } 
}