封装Student类(包括no,name,age,gender等属性)、StudentTool类用jsp文件写,分别用ArrayList和HashMap两种数据结构,实现学生信息的增删改查。
时间: 2024-11-03 21:24:19 浏览: 16
在Java中,封装是指将数据(如学生信息的属性:no、name、age和gender)和处理这些数据的操作(如添加、删除、修改和查询)结合在一起,形成一个独立的对象。这里我们将创建两个类:`Student` 和 `StudentTool`。
首先,我们定义`Student` 类:
```java
public class Student {
private String no;
private String name;
private int age;
private String gender;
// 构造函数,getter和setter方法
public Student(String no, String name, int age, String gender) {
this.no = no;
this.name = name;
this.age = age;
this.gender = gender;
}
// getter and setter methods...
}
```
接下来,我们创建`StudentTool` 类,用于操作ArrayList和HashMap:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class StudentTool {
private ArrayList<Student> list; // 使用ArrayList存储
private Map<String, Student> map; // 使用HashMap通过学号(no)快速查找
public StudentTool() {
list = new ArrayList<>();
map = new HashMap<>();
}
// 存储学生:list和map中都添加
public void add(Student student) {
list.add(student);
map.put(student.getNo(), student);
}
// 删除学生:根据索引或学号删除
public void remove(int index) {
if (index < list.size()) {
Student removed = list.remove(index);
map.remove(removed.getNo());
}
}
// 修改学生:找到并更新指定的学生
public void update(Student updatedStudent) {
for (Student student : list) {
if (student.getNo().equals(updatedStudent.getNo())) {
student.setName(updatedStudent.getName());
student.setAge(updatedStudent.getAge());
student.setGender(updatedStudent.getGender());
break;
}
}
}
// 查询学生:按索引或学号查找
public Student find(int index) {
return list.get(index);
}
public Student findByNo(String no) {
return map.get(no);
}
}
```
至于JSP页面的编写,这通常涉及到HTML表单、JSP标签以及Servlet或控制器的交互。你可以有以下几个步骤:
1. 创建JSP表单,让用户输入和选择学生信息。
2. 在后台Servlet或控制器中,处理POST请求,实例化`Student` 和 `StudentTool` 类,并根据用户的选择执行相应的增删改查操作。
3. 更新界面显示查询结果。
阅读全文