JAVA 学生信息管理系统

java 学生信息管理系统

主要使用的增删改查操作

首先,需要先建一个文件(点击左上角File,选择第一个New里的第一个Java Project)
然后再建一个Javabean包,在这个包里新建一个class类

package cn.hbsi.lianxi.bean;

import java.io.Serializable;

public class Student implements Serializable{
	
	private int sid;
	private String name;
	private int age;
	private String address;
	
	//无参构造方法
	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}

	//有参构造方法
	public Student(int sid, String name, int age, String address) {
		super();
		this.sid = sid;
		this.name = name;
		this.age = age;
		this.address = address;
	}

	public int getSid() {
		return sid;
	}

	public void setSid(int sid) {
		this.sid = sid;
	}

	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 String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}
}

然后再建一个包,里面新建一个class类

  1. 写一个选择器
package cn.hbsi.lianxi.manage;

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

import cn.hbsi.lianxi.bean.Student;

public class StudentManage {
	
	public static void main(String[] args) {
		
		ArrayList<Student> list = new ArrayList<Student>();
		
		for(;;) {
			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("请输入您的选择:");
			Scanner sc = new Scanner(System.in);
			int choice = sc.nextInt();
			
			switch (choice) {
			case 1:
				//执行查询所有学生列表的操作
				showAllStudent(list);
				break;
				
			case 2:
				//执行添加学生的操作
				addStudent(list);
				break;
				
			case 3:
				//执行修改学生的操作
				reviseStudent(list);
				break;
				
			case 4:
				//执行删除学生的操作
				delStudent(list);
				break;
				
			case 5:
				//执行退出
				exitStudent(list);
				return;   //这里的 return 是为了退出程序

			default:
				break;
			}
		}
	}
  1. 接下来我们需要进行添加学生操作
//一.添加学生
	private static void addStudent(ArrayList<Student> list) {
		// TODO Auto-generated method stub
		
		//1.	提示用户输入学生信息(学号、姓名、年龄、住址)
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入学号:");
		int sid = sc.nextInt();
		
		System.out.println("请输入姓名:");
		String name = sc.next();
		
		System.out.println("请输入年龄:");
		int age = sc.nextInt();
		
		System.out.println("请输入住址:");
		String address = sc.next();
		
		//2.	将接受到的学生的零散的信息包装到Student Bean中
		Student stu = new Student(sid, name, age, address);
		
		//3.	将学生对象保存到集合中
		list.add(stu);
		
		System.out.println("添加成功!");
	}
  1. 接下来我们通过遍历集合进行查询学生操作
//二.查询所有学生列表
	private static void showAllStudent(ArrayList<Student> list) {
		// TODO Auto-generated method stub
		
		//思路:	遍历集合,获得每一个学生对象,再输出学生对象的信息
		System.out.println("学号\t姓名\t年龄\t住址");
		for(Student stu:list) {
			System.out.println(stu.getSid()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress());
		}
	}
  1. 接下来我们可以进行修改操作了
//三.修改学生
	private static void reviseStudent(ArrayList<Student> list) {
		// TODO Auto-generated method stub
		
		//1.	判断集合中有没有学生信息
		Scanner sc = new Scanner(System.in);
		
		if(list.size()==0) {
			System.out.println("当前没有学生信息");
			return;  //return直接跳出当前语句,不会执行下面的语句
		}
		
		//2.	输入要修改的学生学号
		System.out.println("请输入您想修改的学生学号:");
		int id = sc.nextInt();
		
		//3.	判断输入的id是否在list集合中,如果在,则执行一系列的代码,如果不在,直接跳出
		boolean flag = false;
		
		for(int i=0;i<list.size();i++) {
			
			if(list.get(i).getSid() == id) {
				flag = true;
				
//				list.remove(i);
				
				//4.	提示用户输入新的学生信息(学号、姓名、年龄、住址)
				System.out.println("请输入新的学号:");
				int sidNew = sc.nextInt();
				
				System.out.println("请输入新的姓名:");
				String nameNew = sc.next();
				
				System.out.println("请输入新的年龄:");
				int ageNew = sc.nextInt();
				
				System.out.println("请输入新的住址:");
				String addressNew = sc.next();
				
				//5.	将接受到的学生的零散的信息重新包装到Student Bean中
				Student stu = new Student(sidNew, nameNew, ageNew, addressNew);
				
				//6.	将集合进行修改
				list.set(i, stu);
				
				System.out.println("修改成功!");
				break;
				
				//这是第二种方法
				//return;    //return之后后面的语句不会执行
			}
			
		}
		if(flag == false) {
			System.out.println("没有找到该学生,请重新输入");
		}	

		//因为上面的 return 不会执行这里的语句,所以可以这样写
		//if(flag) {
		//	System.out.println("没有找到该学生,请重新输入");
		//}
	}
  1. 接下来我们进行删除操作
//四.删除学生
	private static void delStudent(ArrayList<Student> list) {
		// TODO Auto-generated method stub
		
		//1.	判断集合中有没有学生信息
		Scanner sc = new Scanner(System.in);
		
		if(list.size()==0) {
			System.out.println("当前没有学生信息");
			return;  //return直接跳出当前语句,不会执行下面的语句
		}
		
		//2.	输入要删除的学生的学号
		System.out.println("请输入您想要删除的学生学号:");
		int id = sc.nextInt();
		
		//3.	判断输入的id是否在list集合中,如果在,则执行一系列的代码,如果不在,直接跳出
		
		boolean flag = false;
		
		for(int i=0;i<list.size();i++) {
			if(list.get(i).getSid() == id) {
				flag = true;
				
				list.remove(i);
				System.out.println("删除成功!");
				return;  //break结束当前语句,下面的代码会继续执行
			}
		}
		if(flag == false) {
			System.out.println("未找到您想要删除的学生信息,请重新输入");
		}
	}
  1. 最后我们发现是不是这个程序停不下来?
    那我们应该怎么退出呢?
    //五.退出
    private static void exitStudent(ArrayList<Student> list) {
    	// TODO Auto-generated method stub
    	System.out.println("退出成功!");
    }
    
  • 71
    点赞
  • 380
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
学生信息管理系统java课程设计(含源代码)   JAVA程序设计 课程设计报告 课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:   目 录 一、系统描述 2 1、需要实现的功能 3 2、设计目的 3 二、分析与设计 3 1、功能模块划分 3 2、数据库结构描述 4 3、系统详细设计文档 6 4、各个模块的实现方法描述 9 5、测试数据及期望结果 11 三、系统测试 16 四、心得体会 23 五、参考文献 24 六、附录 24 一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入 时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用 "姓名"对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息 管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者 和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快 捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据, 这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一 长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学 技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人 类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无 法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好 、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科 学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流 程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范 化、自动化,从而达到提高学生信息管理效率的目的。 二、分析与设计 1、功能模块划分 图1 功能模块划分图 2、数据库结构描述 、数据库E-R模型 图2 登录用户管理E-R图 图3 实体学生E-R图 、数据库关系模型——二维表 表1 学生表(student) "字段 "数据类型 "说明 " "stuId "nvarchar(30) "学号 " "stuName "nvarchar(30) "姓名 " "stuSex "nvarchar(30) "性别 " "stuAge "int "年龄 " "stuJg "nvarchar(30) "籍贯 " "stuZy "nvarchar(30) "专业 " "classId "nvarchar(30) "班号 " "stuSourse "numeric(5,2) "总学分 " 图4 录入数据后的学生表 表2 登陆权限表(login) "字段 "数据类型 "说明 " "userId "nvarchar(30) "用户名(账号),即登 " " " "陆Id " "password "nvarchar(30) "登陆密码 " "position "nvarchar(30) "职位,如班委,普通学 " " " "生 " 图5 录入数据后的登陆权限表 3、系统详细设计文档 、系统执行流程图 图6 系统执行流程图 、类的划分 表3 学生信息查询类 "类名 "类的成员属性与方法 "说明 " " "JPanel jp1 "定义一个面板 " " "JLabel jp1_jl1 "定义两个标签 " " "JTextField jp1_jtf1 "定义一个文本输入框 " " "JButton "定义三个按钮 " " "jp1_jb1,jp1_jb2,jp1_jb3 " " " "JTable jtb "定义一个表 " " "JScrollPane jsp "定义一个滚动面板,用于存" " " "放表 " " "TableModel tm "自定义一个表模型,用于更" " " "新表数据 " " "public StuQuery(Frame "构造方法,通过传递三个参" " "Main,String title ,boolean "数,实现对话 " " "model) " " " "

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码小余の博客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值