java项目 学生管理_java项目:学生管理系统

这个博客展示了如何使用Java编程实现一个基本的学生管理系统。通过创建Student类存储学生信息,利用HashMap模拟数据库进行增删改查操作,并设计了一个简单的控制台用户界面(CUI)进行交互。主要涉及类设计、数据存储和用户交互逻辑。
摘要由CSDN通过智能技术生成

学生管理系统

学生管理系统作用就是对于学生信息的处理、存储。

处理就包括:添加、删除、修改、显示、查找等

存储一般调用数据库存储;在这里我们只是作为演示,所以就使用Java 中“HashMap”来模拟。

具体分析之后,我们规划出包及分类,在Eclipse里建立如下结构

0fd29d736731?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

思考、划分、优化、布局

首先就应该是学生(Student)主类的构建

建立Student.java

package net.jsjxy.entity;

public class Student {

private String xm;

private String banji;

private String xh;

public Student(String xm,String banji,String xh){

this.xm=xm;

this.banji=banji;

this.xh=xh;

}

public String getXm() {

return xm;

}

public void setXm(String xm) {

this.xm = xm;

}

public String getBanji() {

return banji;

}

public void setBanji(String banji) {

this.banji = banji;

}

public String getXh() {

return xh;

}

public void setXh(String xh) {

this.xh = xh;

}

@Override

public String toString() {

// TODO Auto-generated method stub

return this.xm+"\t"+this.xh+"\t"+this.banji;

}

}

由于只是简单的演示这里就不涉及数据库了,我们用HashMap来模拟数据库存储数据

建立Database.java

package net.jsjxy.db;

import java.util.HashMap;

import net.jsjxy.entity.Student;

public class Database {

public HashMap map;

public void initDB(){

map=new HashMap();

Student s1=new Student("张三", "一班", "12345");

Student s2=new Student("李四", "二班", "67890");

map.put(s1.getXh(), s1);

map.put(s2.getXh(), s2);

}

}

存储和学生主类写好了,那么下一步就该写操作了

我们建立学生数据库操作类文件:StudentBO.java

package net.jsjxy.service;

import java.util.HashMap;

import java.util.Iterator;

import net.jsjxy.db.Database;

import net.jsjxy.entity.Student;

public class StudentBO {

Database db;

public StudentBO(){

db=new Database();

db.initDB();

}

public void addStudent(Student stu) {

HashMap map=db.map;

if(map.containsKey(stu.getXh())){

System.out.println("学号已经存在");

}

else

{

db.map.put(stu.getXh(), stu);

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

}

}

public void modifyStudent(Student stu){

String xh=stu.getXh();

db.map.remove(xh);

db.map.put(xh, stu);

}

public Student searchStudent(String xh) {

Student stu=null;

if(db.map.containsKey(xh)){

stu=db.map.get(xh);

System.out.println("找到了"+xh);

}

else

{

System.out.println("学号不存在");

}

return stu;

}

public void delStudent(String xh) {

if(db.map.containsKey(xh)){

db.map.remove(xh);

System.out.println("删除成功");

}

else

{

System.out.println("学号不存在");

}

}

public void displayAll(){

System.out.println("姓名\t学号\t班级");

Iterator it=db.map.keySet().iterator();

while(it.hasNext()){

String key=it.next();

Student stu=db.map.get(key);

// System.out.println(stu.getXm()+"\t"+stu.getXh()+"\t"+stu.getBanji());

System.out.println(stu.toString());

}

}

}

现在就应该写界面类了

我们建立usergui.java文件

package net.jsjxy.cui;

import java.util.Scanner;

import net.jsjxy.entity.Student;

import net.jsjxy.service.StudentBO;

public class usergui {

static StudentBO db;

static Scanner scanner = new Scanner(System.in);

public static void init() {

db=new StudentBO();

while (true) {

System.out.println("");

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("6.退出");

System.out.print("请输入你的选择:");

int input = scanner.nextInt();

switch (input) {

case 1:

addStu();

break;

case 2:

searchStu();

break;

case 3:

delStu();

break;

case 4:

dispStu();

break;

case 5:

modStu();

break;

case 6:

System.out.println("程序退出");

System.exit(0);

break;

default:

System.out.println("请输入正确的");

break;

}

}

}

public static void addStu() {

System.out.println("请输入学生的姓名:");

String xm=scanner.next();

System.out.println("请输入学生的学号:");

String xh=scanner.next();

System.out.println("请输入学生的班级:");

String bj=scanner.next();

Student stu=new Student(xm, bj, xh);

db.addStudent(stu);

}

public static void modStu() {

System.out.println("请输入修改学生的学号:");

String xh=scanner.next();

Student stu=db.searchStudent(xh);

if(stu==null){

System.out.println("没有找到");

}

else{

System.out.println(stu.toString());

System.out.println("请输入学生的新姓名:");

String xm=scanner.next();

System.out.println("请输入学生的新班级:");

String bj=scanner.next();

stu=new Student(xm, bj, xh);

System.out.print("你确认要修改吗?(y/n)");

String tmp=scanner.next().toUpperCase();

if(tmp.equals("Y")){

db.modifyStudent(stu);

}

}

}

public static void delStu() {

System.out.println("请输入删除学生的学号:");

String xh=scanner.next();

System.out.print("你确认要删除吗?(y/n)");

String tmp=scanner.next().toUpperCase();

if(tmp.equals("Y")){

db.delStudent(xh);

}

}

public static void searchStu() {

System.out.println("请输入查找学生的学号:");

String xh=scanner.next();

Student stu=db.searchStudent(xh);

if(stu!=null){

System.out.println(stu.toString());

}

}

public static void dispStu() {

System.out.println("显示所有学生信息");

db.displayAll();

}

}

最后我们来写主类

建立MainClass.java文件

package net.jsjxy.cui;

public class MainClass {

public static void main(String args[]){

usergui.init();

}

}

项目源码下载

戳我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值