管理学校的班级和学生

Student/** * @author xzMa */public class Student { private String name; private int age; private boolean sex; public Student() { } public Student(String name, int age, boolean sex) { this.name = name; this.age = age; this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isSex() { return sex; } public void setSex(boolean sex) { this.sex = sex; } @Override public String toString() { return “姓名:” + this.name + “,年龄:” + this.age + “,性别:” + (sex ? “男” : “女”); }}SchoolManagerimport java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.Set;/** * @author xzMa */public class SchoolManager { private ArrayList<HashMap<String, Student>> list = new ArrayList<>(); public void saveClass(HashMap<String, Student> map) { list.add(map); } public String getAllStudentByClass(int index) { String str = “班级” + index + “有学生:\n”; HashMap<String, Student> map = list.get(index); Set<String> set = map.keySet(); Iterator<String> it = set.iterator(); while (it.hasNext()) { String num = it.next(); Student student = map.get(num); str +=”学号:” + num + “,” + student + “\n”; } return str; } public static void main(String[] args) { SchoolManager schoolManager = new SchoolManager(); HashMap<String, Student> students1 = new HashMap<>(); HashMap<String, Student> students2 = new HashMap<>(); Student student1 = new Student(“张三”, 25, true); Student student2 = new Student(“李四”, 34, false); students1.put(“123456”, student1); students2.put(“987654″, student2); schoolManager.saveClass(students1); schoolManager.saveClass(students2); System.out.println(schoolManager.getAllStudentByClass(1)); }}管理学校的班级和学生1、实验描述 本场景创建了一个学校管理类。 1-1. 功能一:保存班级信息。 1-2. 功能二:查看指定班级所有学生的信息。2、推荐步骤 2-1. 新建项目工程,工程名为CORE_C07_038: 2-1.1. 创建类-Student,用于描述学生信息。 2-1.2. 给该实体类添加成员变量: 1) 姓名:【String name】 2) 年龄:【int age】 3) 性别:【boolean sex】 ;男:true,女:false 2-1.3. 为以上成员变量添加公共的set和get方法 2-1.4. 添加带参构造函数,对成员变量进行初始化。 1) 构造函数的参数分别是姓名、年龄和性别 2-1.5. 重写toString方法,返回所有信息拼接的字符串: 1) 把性别的boolean值转换为“男”、“女” 2) 返回以下格式的内容:”姓名:”+this.name+”,年龄:”+this.age+”,性别:”+ sex; 2-2. 创建一个学校管理类 SchoolManager,并添加以下内容。 2-3. 添加私有成员变量: 2-3.1. 创建用于保存班级集合的ArrayList对象。 1) 泛型为HashMap<String, Student> 2-4. 添加保存班级的公共方法saveClass,入参存放班级学生的HashMap,无返回值: 2-4.1. 通过ArrayList的add方法,把入参的HashMap存放到其中。 2-5. 添加查看指定班级中所有学生信息的公共方法getAllStudentByClass, 入参为班级索引,返回值为String: 2-5.1. 定义一个String变量用于保存待返回的内容, 初始内容为:”班级” + (入参索引) + “有学生:\n”。 2-5.2. 通过入参索引从ArrayList中获取指定的班级HashMap。 2-5.3. 获取HashMap中键集合的迭代器: 1) 通过HashMap的ketSet方法获得键(学号)集合; 2) 再通过该集合的iterator方法得到该集合的迭代器; 3) 该迭代器的泛型为String。 2-5.4. 使用while遍历集合,条件为迭代器的hasNext方法返回值: 1) 通过迭代器的next方法得到学号; 2) 通过该学号从HashMap中得到学生对象,并把学号和学生对象拼接到字符串上; 3) 为了美观,结尾可用“\n”进行换行。 2-5.5. 返回该字符串。3、验证与测试 3-1. 添加程序入口的main方法,并进行测试: 3-1.1. 创建一个SchoolManager对象。 3-1.2. 创建两个班级、每个班级两个学生对象, 并通过SchoolManager的saveClass方法进行保存: 1)班级:HashMap<String, Student> 2)学号和学生对象信息自拟,并保存到HashMap中。 3-1.3. 通过getAllStudentByClass方法,获得班级索引为1的班级学生信息字符串,并显示到控制台上。

饶人不是痴汉,痴汉不会饶人。

管理学校的班级和学生

相关文章:

你感兴趣的文章:

标签云: