当前位置 : 主页 > 编程语言 > java >

管理学校的班级和学生

来源:互联网 收集:自由互联 发布时间:2022-07-17
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 .


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 ? "男" : "女");
}
}

SchoolManager

import 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的班级学生信息字符串,并显示到控制台上。


上一篇:16版.就诊时排队叫号
下一篇:没有了
网友评论