java构造函数,数组和void方法

时间:2013-12-05 17:42:20

标签: java methods arraylist constructor void

此作业的目的是创建一个程序,使用文本文件中的数据显示每个学生的平均成绩。我遵循了我的教授指导方针,但我仍然认为我缺少某些东西或者为数组列表做错了什么,以及其中一种无效方法。这些是指导方针:

创建一个名为Student的类,如下所示。班级跟踪 学生的作业成绩。

一个。实例(或成员)私有变量 - 名称(String),homeworks (整数ArrayList)。

湾一个构造函数,其名称作为参数。另外,初始化 homeworks arraylist。

℃。公共get和set方法变量的方法。

d。一个void addHomeworkGrade方法,它接受一个参数 - 新的作业成绩。

即一个不带参数的公共computeAverage方法 返回一个双倍显示平均作业等级 学生。

F。重写toString方法以返回此字符串表示形式 对象的格式为“平均成绩为”。

下面插入的代码来自我的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());

}

}

1 个答案:

答案 0 :(得分:1)

您需要做的是,只有列表,而不是单个变量。然后你的方法'addHomeworkGrade'需要接受一个整数,将它添加到列表中,它不需要返回任何东西。然后在'computeAverage'中,将所有值从列表中添加到一起,除以其长度,然后返回它。这有意义吗?如果你愿意,我可以提供代码片段(但不想为你写整篇文章)。