java - 使用 ArrayLists 了解应用程序的结构
问题描述
我需要帮助理解我的“小型学生管理应用程序”的结构。我需要:
- 创建主题。
- 主题有一个名称和类别数量,这些类别是等级的类型,例如。Java, 2, 家庭作业, 项目
- 每种等级都有权重,例如家庭作业,10
将其保存在文件中
为选定科目的学生输入成绩
- 对于选择了 SUBJECT 的每个类别,学生都有 ID、姓名和成绩。
- 保存到文件
- 使用来自 SUBJECT 的权重和插入的学生成绩进行一些计算。
我写了两种方法:
private void createSubject(String name,
int numberOfCat,
List<String> category,
List<Integer> weight);
private void insertGrade(int id, String name, List<Integer> grade);
这些方法将输入到subjects.txt 和students.txt 保存为我的数据库表。我还有用于 editGrade 和 deleteSubject 以及 viewGrades 和 viewSubjects 的方法
现在我可以像这样添加到我的文件中,例如:
subject.txt -> (Java, Homework, 10, Project, 40, Final,50,)
student.txt -> (001, 约翰)
我的问题从这里开始。我现在无法想象我该怎么做:
从subjects.txt中选择一个主题
为学生插入成绩。成绩数必须与所选主题中的类别数相匹配。(这就是为什么在 insertGrade 中我只保存了 ID 和名称)
检索权重,以便我可以使用用户插入的成绩进行计算。
如果有人可以帮助我了解我该怎么做。我不需要代码,但我很想了解如何查看它。谢谢你,我已经准备好交谈和学习了;)
解决方案
您是否正在尝试将Subject和Student抽象为类?
public class Execute {
public static void main(String[] args){
//1.Creating some instance of Grade
Grade grade1 = new Grade("Homework", 10);
Grade grade2 = new Grade("Project,", 40);
Grade grade3 = new Grade("Final,", 50);
//2.Putting all these grades in an ArrayList
List<Grade> grades = new ArrayList<Grade>();
grades.add(grade1);
grades.add(grade2);
grades.add(grade3);
//3.Creating an instance of Subject
Subject Java = new Subject("Java", grades);
//4.Putting the subject in an ArrayList
List<Subject> subjects = new ArrayList<Subject>();
subjects.add(Java);
//5.Creating an instance of Student
Student student = new Student("001", "John", subjects);
/**
* Now you have a student called John, choosing a subject called Java.
* There are 3 parts of this course: Homework, Project, and Final exam.
*/
}
}
public class Student {
private String id;
private String name;
private List<Subject> subjects;
public Student(String id, String name, List<Subject> subjects) {
this.id = id;
this.name = name;
this.subjects = subjects;
}
}
public class Grade {
private String name;
private Integer weight;
public Grade(String name, Integer weight) {
this.name = name;
this.weight = weight;
}
}
public class Subject {
private String name;
private List<Grade> grades;
public Subject(String name, List<Grade> grades) {
this.name = name;
this.grades = grades;
}
}
推荐阅读
- sensors - 没有视觉提示的暂停设备
- python - windows下导入tensorflow失败
- youtube - YouTube 无法移除分享、稍后观看和频道
- javascript - Bootstrap Vue 动态表模板
- jquery - JSON 未定义 - jquery 停止工作
- android - 标题的值不能从 ReadablenativeMap 转换为字符串
- json - 在子对象上写入带有键值的 jq 文件
- android - 我在版本控制的 android studio VCS checkout 中找不到 Github
- movesense - Movesense 从 LogBook 解码 SBEM 数据
- callback - 使用回调在 python 2 应用程序之间进行通信的最佳方式是什么?