在对象内存储对象值

时间:2017-10-26 16:51:08

标签: java list object

我想将多个值存储在我的对象中,如下所示:

public class Student extends StudentModules{
    //Initialization
    private String mName;
    private String mNICN;

    private String Module1;
    private int ExamScore1;
    private int AssignmentScore1;

    private String Module2;
    private int ExamScore2;
    private int AssignmentScore2;

    private String Module3;
    private int ExamScore3;
    private int AssignmentScore3;

如此处所示,我想为每个学生创建一个模块,该模块与其分数相关联:

Module 1 -> Exam1 -> Score1
Module 2 -> Exam2 -> Score2
Module 3 -> Exam3 -> Score3

这样才能获得每个学生每个模块的分数。 我当前能够在被迫时工作(为每个模块创建变量)。所以我想创建Object来存储Module组及其得分。

这是我的路径:

1. When user register, call Student class (Above)
2. Inside student class, I can create Module, with its score

因此,当我访问学生对象时,我可以访问他们的分数,模块可能正在使用arraylist,因此我可以将其编入索引的模块名称。

无论如何,谢谢你们的帮助。

1 个答案:

答案 0 :(得分:1)

那么为什么不定义Module类并拥有这些类的集合呢?

class Module {
    String name;
    int score1;
    int score2;

}

List<Module> modules;

UPD:请看这个例子。您可以为所需的字段添加getter。

class Student {
    final List<Module> modules;

    Student(List<Module> modules) {
        this.modules = modules;
    }
}


class Module {
    private final String name;
    private final int score1;
    private final int score2;

    Module(String name, int score1, int score2) {
        this.name = name;
        this.score1 = score1;
        this.score2 = score2;
    }
}

class MainTest {
    public static void main(String[] args) {
        Student andrewWatson = new Student(Arrays.asList(new Module("Module1", 95, 90), new Module("Module1", 65, 80)));
    }    
}