在哪里添加 java 类 的成员
Where to add members of java classes
实现 class 学生。出于本练习的目的,学生有姓名和测验总分。提供适当的构造函数和方法 getName()
、addQuiz(int score)
、getTotalScore()
和 getAverageScore()
。要计算后者,您还需要存储学生参加的测验数。
...
我对分数和名字特别难过。我是将分数同时添加到 Student.java
和 StudentTester.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;
}
}
实现 class 学生。出于本练习的目的,学生有姓名和测验总分。提供适当的构造函数和方法 getName()
、addQuiz(int score)
、getTotalScore()
和 getAverageScore()
。要计算后者,您还需要存储学生参加的测验数。
...
我对分数和名字特别难过。我是将分数同时添加到 Student.java
和 StudentTester.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;
}
}