基于ArrayList的学生信息的增删改查

本文介绍了如何使用ArrayList来实现学生信息的增加、删除、修改和查询功能,通过创建学生类、操作类和测试类进行演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于ArrayList的学生信息的增删改查

1.增加学生
2.根据学号修改学生信息
3.查看所有学生信息
4.根据学号查看某一个学生信息
5.根据性别查看同性别的所有学生
6.根据学号删除某一个学生
7.按照学号升序排序(默认)
8.按照年龄降序排序
  • 学生类
public class Student {
	String name;
	String sno;
	int age;
	String sex;
	
	public Student() {
	}

	public Student(String sno, String name, int age, String sex) {
		super();
		this.sno = sno;
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSno() {
		return sno;
	}
	public void setSno(String sno) {
		this.sno = sno;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}

	@Override
	public String toString() {
		System.out.println();//换行
		return "Student [学号:" + sno + ", 姓名:" + name + ", 年龄:" + age + ", 性别:" + sex + "]";
	}
}
  • 操作类
public class StudentOperate {
	//用于存储学生对象的集合
	ArrayList<Student> stus = new ArrayList<Student>();
	public void menu() {
		System.out.println();
		System.out.printl
### Java 学生管理系统增删改查示例 (基于数组) 为了展示如何使用数组实现学生管理系统的增删改查功能,下面提供了一段完整的Java代码。这段代码展示了如何利用简单的控制台输入输出完成对学生信息的基本操作。 #### 定义Student类 首先定义`Student`类用于存储学生姓名和年龄: ```java public class Student { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } 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; } } ``` #### 主程序逻辑 接下来是主程序部分,在这里实现了增删改查的功能,并且使用了数组来保存多个学生对象实例: ```java import java.util.Scanner; public class StudentManagementSystem { static final int MAX_STUDENTS = 10; // 设定最大容量 static Student[] students = new Student[MAX_STUDENTS]; static int studentCount = 0; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (true){ System.out.println("请选择要执行的操作:"); System.out.println("1. 添加新学生"); System.out.println("2. 删除现有学生"); System.out.println("3. 修改已有学生信息"); System.out.println("4. 查询所有学生"); System.out.println("5. 退出"); switch(scanner.nextInt()){ case 1 -> addNewStudent(); case 2 -> deleteExistingStudent(); case 3 -> updateStudentInfo(); case 4 -> queryAllStudents(); case 5 -> {scanner.close();return;} default -> System.out.println("请输入有效的选项!"); } } } private static void addNewStudent(){ if(studentCount >= MAX_STUDENTS){ System.out.println("已达到最大人数限制!"); return; } try(Scanner input = new Scanner(System.in)){ System.out.print("请输入新的学生名字:"); String name = input.nextLine(); System.out.print("请输入该同学的年龄:"); int age = Integer.parseInt(input.nextLine()); students[studentCount++] = new Student(name,age); System.out.println("新增加学生记录为:" + name + " (" + age + ") 年龄."); } catch(Exception e){ System.err.println(e.getMessage()); } } private static void deleteExistingStudent(){ try(Scanner input = new Scanner(System.in)){ System.out.print("请输入想要删除学生的名字:"); String targetName = input.nextLine(); boolean found = false; for(int i=0;i<studentCount;i++){ if(students[i].getName().equals(targetName)){ for(;i<studentCount-1;i++) students[i]=students[i+1]; studentCount--; found=true; break; } } if(!found) System.out.println("未找到名为 "+targetName+" 的学生."); else System.out.println("成功移除了名为 "+targetName+" 的学生."); }catch(Exception e){ System.err.println(e.getMessage()); } } private static void updateStudentInfo(){ try(Scanner input = new Scanner(System.in)){ System.out.print("请输入你想更新其信息学生的名字:"); String targetName = input.nextLine(); for(Student s : students){ if(s!=null && s.getName().equals(targetName)){ System.out.print("当前年龄为:" + s.getAge()+"\n"+"请设置新的年龄:"); int updatedAge=input.nextInt(); s.setAge(updatedAge); System.out.println("已经将"+s.getName()+"的新年龄设为:"+updatedAge+"."); return; } } System.out.println("未能找到指定名称的学生."); }catch(Exception e){ System.err.println(e.getMessage()); } } private static void queryAllStudents(){ StringBuilder sb=new StringBuilder("\n--- 所有学生列表 ---\n"); for(int i=0;i<studentCount;i++){ sb.append(i+1).append(". ").append(students[i].getName()).append(", ") .append(students[i].getAge()).append("岁\n"); } sb.append("--\n"); System.out.print(sb.toString()); } } ``` 此代码片段提供了基本的学生管理系统框架,其中包含了添加、删除修改以及查询全部学生信息的方法[^1]。需要注意的是,上述例子中采用固定大小的数组作为容器,这在实际应用中可能不够灵活;对于更复杂的应用场景建议考虑使用动态的数据结构如ArrayList等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值