学生信息管理系统(java实现)

该代码示例展示了如何使用Java编程创建一个学生类(包括学号、姓名、年龄和生日属性)以及一个学生管理类,该管理类具备添加、删除、修改和查找学生信息的功能,基于ArrayList存储和操作对象。

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

一、建立学生类

学生类中应包含有学生的学号,姓名,年龄,生日 

package com.itheima.pojo;

public class Student {
private String id;
private String name;
private int age;
private String birthday;


public Student() {
}

public Student(String id, String name, int age, String birthday) {
this.id = id;
this.name = name;
this.age = age;
this.birthday = birthday;
}

/**
* 获取
* @return id
*/
public String getId() {
return id;
}

/**
* 设置
* @param id
*/
public void setId(String id) {
this.id = id;
}

/**
* 获取
* @return name
*/
public String getName() {
return name;
}

/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}

/**
* 获取
* @return age
*/
public int getAge() {
return age;
}

/**
* 设置
* @param age
*/
public void setAge(int age) {
this.age = age;
}

/**
* 获取
* @return birthday
*/
public String getBirthday() {
return birthday;
}

/**
* 设置
* @param birthday
*/
public void setBirthday(String birthday) {
this.birthday = birthday;
}


}

二、创建学生管理类

下面的代码实现了增加,删除,改变,查找功能

package com.itheima.oop;

import com.itheima.pojo.Student;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentTest {

public static void main(String[] args) {
Scanner in=new Scanner(System.in);
ArrayList<Student> list = new ArrayList<>();

lo:
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:退出管理系统");

System.out.println("请输入你的选择");
int choice = in.nextInt();

switch (choice){
case 1:addstudentinfo(list);
break;
case 2:removestudentinfo(list);
break;
case 3:setstudentinfo(list);
break;
case 4:getstudentinfo(list);
break;
case 5:System.out.println("退出管理系统");
break lo;
default: System.out.println("您的输入有误");
}
}

}

//查找学生信息
private static void getstudentinfo(ArrayList<Student> list) {
if(list.size()==0){
System.out.println("没有改学生信息");
}else {
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);

System.out.println(stu.getId()+"---"+stu.getName()+"---"+stu.getAge()+"---"+stu.getBirthday());
}
}
}

//改变学生信息
private static void setstudentinfo(ArrayList<Student> list) {
//键盘录入要改变学生信息的学号
Scanner in=new Scanner(System.in);
System.out.println("请输入你的学号");
String id = in.nextLine();

//调用getindex方法,查找集合在学号中的索引
int index = getindex(id, list);

//判断学号对应索引是否有
if(index==-1){
System.out.println("没有查找到相关学生");
}else {
System.out.println("请输入新的姓名");
String name = in.next();
System.out.println("请输入新的年龄");
int age = in.nextInt();
System.out.println("请输入新的生日");
String birthday = in.next();

Student stu=new Student(id,name,age,birthday);
list.set(index,stu);
System.out.println("修改成功");
}

}

//删除学生信息
private static void removestudentinfo(ArrayList<Student> list) {
//键盘录入要删除的学号
Scanner in=new Scanner(System.in);
System.out.println("请输入你的学号");
String id = in.nextLine();

//调用getindex方法,查找集合在学号中的索引
int index = getindex(id, list);

//判断学号对应索引是否有
if(index==-1){
System.out.println("没有查找到相关学生");
}else {
list.remove(index);
System.out.println("删除成功");
}

}

//查找索引
private static int getindex(String id,ArrayList<Student> list){
for (int i=0;i<list.size();i++){
Student stu = list.get(i);

if(stu.getId().equals(id)){
return i;
}
}
return -1;

}


//添加学生信息功能
private static void addstudentinfo(ArrayList<Student> list) {
Scanner in=new Scanner(System.in);

String id="";
while (true) {
System.out.println("请输入学生学号");
id = in.next();
int index = getindex(id, list);
if (index == -1) {
//可以使用
break;
} else System.out.println("您输入的学号重复");
}
System.out.println("请输入学生姓名");
String name = in.next();
System.out.println("请输入学生年龄");
int age = in.nextInt();
System.out.println("请输入学生生日");
String birthday = in.next();

Student stu=new Student(id,name,age,birthday);

list.add(stu);
System.out.println("添加成功");

}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IMSkyey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值