使用arraylist保存学生信息,每个学生信息包括学号、姓名、性别、专业方向(sno、sname、sgender、smajor),其中专业方向是major类型,其信息包括专业班级(classno,如
时间: 2023-04-30 08:06:04 浏览: 99
arraylist是一种数据结构,可以用来存储学生信息。每个学生信息包括学号、姓名、性别、专业方向(sno、sname、sgender、smajor),其中专业方向是major类别型,其信息包括专业班级(classno),如需保存。
相关问题
java编写学生类Student,属性包括学号sno, 姓名name。有参构造方法用来给属性赋值。有返 回值的toString方法,用于返回当前学生对象的所 有属性信息。要求学生类的设计体现封装性。 (2)使用ArrayList类添加两个学生对象,分别使 用forEach循环和迭代器类输出。
以下是一个符合题目要求的学生类的示例代码:
```java
class Student {
// 学号
private String sno;
// 姓名
private String name;
// 有参构造方法
public Student(String sno, String name) {
this.sno = sno;
this.name = name;
}
// 返回当前学生对象的所有属性信息
public String toString() {
return "学号: " + this.sno + ", 姓名: " + this.name;
}
}
```
下面是使用 ArrayList 类添加两个学生对象,分别使用 forEach 循环和迭代器类输出的代码示例:
```java
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
ArrayList<Student> students = new ArrayList<>();
students.add(new Student("001", "张三"));
students.add(new Student("002", "李四"));
// 使用 forEach 循环输出
students.forEach(student -> System.out.println(student));
System.out.println("-----------------");
// 使用迭代器类输出
Iterator<Student> it = students.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
```
1 【简答题】 完成班级学生信息列表导航与详情页面设计。要求: (1)编写类 编写一个类Student,位于pack包中,具有6个属性:sno、sname、age、sex、sclass、photo 编写一个管理类:ManagerStudents 提供至少两个方法: ①获取全部教师数据。(此处假设5个学生数据(本班的5个同学数据)已经从数据库获得,并作为5个Studnet对象全部由ArrayList管理)getAllStudents方法即是通过ArrayList获得所有的教师数据。 ②根据学生编号查询学生全部信息。 getStudnet方法通过编号在ArrayList中查询,获得编号对应的学生详情信息。 (2)编写页面 设计第一个页面用于显示这5个学生师姓名,并且提供超级链接:可进一步查看详情 设计第二个页面用于显示详情。详情包括:编号、姓名、年龄、性别、班级、个人照等。
(1) 编写类:
```java
// Student.java
package pack;
public class Student {
private String sno;
private String sname;
private int age;
private String sex;
private String sclass;
private String photo;
// 构造方法
public Student(String sno, String sname, int age, String sex, String sclass, String photo) {
this.sno = sno;
this.sname = sname;
this.age = age;
this.sex = sex;
this.sclass = sclass;
this.photo = photo;
}
// getter方法
public String getSno() {
return sno;
}
public String getSname() {
return sname;
}
public int getAge() {
return age;
}
public String getSex() {
return sex;
}
public String getSclass() {
return sclass;
}
public String getPhoto() {
return photo;
}
}
```
```java
// ManagerStudents.java
package pack;
import java.util.ArrayList;
public class ManagerStudents {
private ArrayList<Student> students;
// 构造方法
public ManagerStudents() {
students = new ArrayList<>();
// 假设从数据库获取了5个学生数据,添加到ArrayList中
students.add(new Student("001", "张三", 18, "男", "ClassA", "photo1.jpg"));
students.add(new Student("002", "李四", 19, "女", "ClassA", "photo2.jpg"));
students.add(new Student("003", "王五", 18, "男", "ClassA", "photo3.jpg"));
students.add(new Student("004", "赵六", 19, "女", "ClassA", "photo4.jpg"));
students.add(new Student("005", "刘七", 18, "男", "ClassA", "photo5.jpg"));
}
// 获取全部学生数据
public ArrayList<Student> getAllStudents() {
return students;
}
// 根据学生编号查询学生信息
public Student getStudent(String sno) {
for (Student student : students) {
if (student.getSno().equals(sno)) {
return student;
}
}
return null; // 如果没有找到对应编号的学生,则返回null
}
}
```
(2) 编写页面:
第一个页面(学生列表页面):
```html
<!DOCTYPE html>
<html>
<head>
<title>学生列表</title>
</head>
<body>
<h1>学生列表</h1>
<ul>
<li><a href="student_detail.jsp?sno=001">张三</a></li>
<li><a href="student_detail.jsp?sno=002">李四</a></li>
<li><a href="student_detail.jsp?sno=003">王五</a></li>
<li><a href="student_detail.jsp?sno=004">赵六</a></li>
<li><a href="student_detail.jsp?sno=005">刘七</a></li>
</ul>
</body>
</html>
```
第二个页面(学生详情页面):
```html
<!DOCTYPE html>
<html>
<head>
<title>学生详情</title>
</head>
<body>
<h1>学生详情</h1>
<%-- 获取sno参数 --%>
<% String sno = request.getParameter("sno"); %>
<%-- 调用Java代码获取学生信息 --%>
<%
pack.ManagerStudents manager = new pack.ManagerStudents();
pack.Student student = manager.getStudent(sno);
%>
<%-- 判断学生是否存在 --%>
<% if (student != null) { %>
<h3>编号: <%= student.getSno() %> </h3>
<h3>姓名: <%= student.getSname() %> </h3>
<h3>年龄: <%= student.getAge() %> </h3>
<h3>性别: <%= student.getSex() %> </h3>
<h3>班级: <%= student.getSclass() %> </h3>
<img src="photos/<%= student.getPhoto() %>" alt="个人照片">
<% } else { %>
<p>该学生不存在</p>
<% } %>
</body>
</html>
```
注意:需要将上述代码保存为相应的文件,例如第一个页面保存为 `student_list.jsp`,第二个页面保存为 `student_detail.jsp`。同时,还需要在项目中创建一个名为 `photos` 的文件夹,用于存放学生的个人照片。请根据实际情况进行调整和修改。
阅读全文