【发布时间】:2013-12-22 19:18:03
【问题描述】:
此作业的目标是创建一个程序,该程序使用文本文件中的数据显示每个学生的平均成绩。我遵循了教授的指导方针,但我仍然认为我遗漏了一些东西或对数组列表和其中一种 void 方法做错了什么。这些是指导方针:
创建一个名为 Student 的类,如下所示。班级跟踪 学生的作业成绩。
一个。实例(或成员)私有变量——名称(字符串)、作业 (一个整数 ArrayList)。
b.以名称为参数的单个构造函数。另外,初始化 作业数组列表。
c。 name 实例变量的公共 get 和 set 方法。
d。一个 void addHomeworkGrade 方法,它接受一个参数—— 新的作业成绩。
e。一个不带参数的公共 computeAverage 方法,并且 返回一个双精度值,显示此作业的平均成绩 学生。
f。重写 toString 方法以返回 this 的字符串表示 格式为“The 的平均成绩是”的对象。
我在下面插入的代码来自我的 Student 类,我还将有另一个名为 Test 的类,其中包含文件读取器和缓冲区读取器来读取文本文件。有人可以帮我验证这段代码是否正确,尤其是创建和初始化数组以及 void addHomeworkGrade 方法。提前谢谢你。
import java.text.DecimalFormat;
import java.util.ArrayList;
public class Student {
// Declare the variables
private String name;
private int homework1;
private int homework2;
private int homework3;
private int homework4;
private int homework5;
private int homework6;
// Constructor
public Student(String name) {
this.name = name;
}
//Create and initialize homeworks array list
ArrayList<Integer> homeworkList = new ArrayList<Integer>();
// setter or mutator methods change the field values
public void setName(String x) {
}
// Accessor or getter methods provide the field values
public String getName() {
return name;
}
//A void addHomeworkGrade with one argument - to get homework grade
public String addHomeworkGrade() {
DecimalFormat pattern = new DecimalFormat("0.00");
double homeworkGrade;
homeworkGrade = (homework1 + homework2 + homework3 + homework4 + homework5 + homework6);
return pattern.format(homeworkGrade);
}
// other methods perform operations on Employee data
public String computeAverage() {
DecimalFormat pattern = new DecimalFormat("0.00");
double average;
average = ((homework1 + homework2 + homework3 + homework4 + homework5 + homework6) / 6.00);
return pattern.format(average);
}
// Override the toString method to return the string representation
public String toString() {
return (getName() + "'s average grade is " + computeAverage());
}
}
【问题讨论】:
-
您似乎没有问题,只有请求。
-
为什么要创建一个数组列表,然后甚至不使用它?
-
必须使用成绩列表时为什么还要使用 homeworkX 变量?
-
希望 stackoverflow 做他的功课
-
使用你的
ArrayList,并用它的大小替换6.00(因为硬编码的值不好)。通过使用它,我的意思是填充它并替换所有 x+y+z 代码。使用某种循环对其内容求和
标签: java methods arraylist constructor void