学生管理系统——java编写

学生管理系统——java编写


今天给大家分享一个用java编写的小系统——学生管理系统,几乎所有的系统都肯定离不开数据库,但是今天 小编的系统只是模拟数据库,主要是说明一下该系统的逻辑结构和设计原理。

  • 1 首先,我们要先设计一个工具类,以便于其他类的输入等,不用每次输入都new一个Scanner.
package Yak3;
/**
 * 工具类
 * @author lenovo
 *
 */
import java.util.Scanner;
public class Util {
	public static Scanner input = new Scanner(System.in);
}

  • 2 然后是学生类,包括学生的基本上属性,getter和setter方法,构造方法。
package Yak3;

public class Student {
	private String Id;//学号
	private String name;//姓名
	private int age;//年龄
	private char sex;//性别
	private String address;//地址
	private String maior;//专业
	
	public Student() {
		super();
		// TODO 自动生成的构造函数存根
	}

	public Student(String id, String name, int age, char sex, String address, String maior) {
		super();
		Id = id;
		this.name = name;
		this.age = age;
		this.sex = sex;
		this.address = address;
		this.maior = maior;
	}

	public String getId() {
		return Id;
	}

	public void setId(String id) {
		Id = id;
	}

	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 char getSex() {
		return sex;
	}

	public void setSex(char sex) {
		this.sex = sex;
	}

	public String getAddress() {
		return address;
	}

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

	public String getMaior() {
		return maior;
	}

	public void setMaior(String maior) {
		this.maior = maior;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((Id == null) ? 0 : Id.hashCode());
		result = prime * result + ((address == null) ? 0 : address.hashCode());
		result = prime * result + age;
		result = prime * result + ((maior == null) ? 0 : maior.hashCode());
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		result = prime * result + sex;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Student other = (Student) obj;
		if (Id == null) {
			if (other.Id != null)
				return false;
		} else if (!Id.equals(other.Id))
			return false;
		return true;
	}
	@Override
	public String toString() {
		return "Student [Id=" + Id + ", name=" + name + ", age=" + age + ", sex=" + sex + ", address=" + address
				+ ", maior=" + maior + "]";
	}
}

  • 3 定义一个接口,实现这个接口要求具有的功能。
package Yak3;

public interface IStudentDao {
	
	public boolean register(Student student);//实现注册的方法
	
	public void selextAll();//实现显示所有的方法
	
	public Student selectId(String id);//实现 按Id查找的方法
	
	public void move(String string);

}

  • 4 模拟连接数据库,用链表存储数据;实现接口,并重新其中的方法
package Yak3;

import java.util.List;

public class IStudentDaolmpl implements IStudentDao {
	
	public List<Student> list = Data.list;//模拟连接数据库

	@Override
	public boolean register(Student student) {
		// TODO 自动生成的方法存根
		return list.add(student);
	}

	@Override
	public void selextAll() {
		// TODO 自动生成的方法存根
		for (Student student : list) {
			System.out.println(student);
		}
	}

	@Override
	public Student selectId(String id) {
		// TODO 自动生成的方法存根
		for (Student student : list) {
			if (student.getId().equals(id)) {
				return student;
			}
		}
		return null;
	}

	@Override
	public void  move(String string) {
		int count = 0;
		// TODO 自动生成的方法存根
		for (Student student : list) {
			if (student.getId().equals(string)) {
				break;
			}else {
				count++;
			}
		}
		list.remove(count);
	}
}


  • 5 模拟数据库
package Yak3;

import java.util.ArrayList;
import java.util.List;

public class Data {
	/**
	 *学生数据库
	 */
	public static List<Student> list =  new ArrayList<Student>();
}

  • 6 菜单
package Yak3;

import java.awt.Stroke;

/**
 * 视图
 * @author lenovo
 *
 */

public class View {
	private int op; //选项
	private IStudentDaolmpl iStudentDao;
	
	public void menu1() {
		System.out.println();
		System.out.println(" |=====================================|");
		System.out.println(" |            欢迎来到学生管理系统                                   |");
		System.out.println(" |-------------------------------------|");
		System.out.println(" |               1.注册                                                    |");
		System.out.println(" |-------------------------------------|");
		System.out.println(" |               2.登录                                                    |");
		System.out.println(" |-------------------------------------|");
		System.out.println(" |               0.退出                                                    |");
		System.out.println(" |=====================================|");
		System.out.print("请选择你要操作的功能序号:");
		op = Util.input.nextInt();
		switch (op) {
		case 1:
			
			System.out.println("请输入您的学号:");
			String id = Util.input.next();
		    System.out.println("请输入您的姓名:");
			String name = Util.input.next();
			System.out.println("请输入您的年龄:");
			int age = Util.input.nextInt();
			System.out.println("请输入您的性别:");
			char sex = Util.input.next().charAt(0);	
			System.out.println("请输入您的地址:");
			String address = Util.input.next();		
			System.out.println("请输入您的专业:");
			String major = Util.input.next();
	
			Student student = new Student(id, name, age, sex, address, major);
			iStudentDao = new IStudentDaolmpl();
			Student student2 = iStudentDao.selectId(id);
			if (student2!=null) {
				System.out.println("该学生已存在!");
				break;
			}
			boolean isRight = iStudentDao.register(student);
			if (isRight) {
				System.out.println("注册成功");
			}else {
				System.err.println("注册失败!");
			}
			break;
		case 2:
			
			System.out.println("请输入您的学号:");
			String id111 = Util.input.next();
			Student student111 = iStudentDao.selectId(id111);
			if (student111!=null) {
				while (true) {
					menu2();		
				}
			}else {
				System.out.println("次學生不存在");
			}
			break;
		case 0:
			System.exit(0);
		default:
			System.out.println("你输入有误!");
			break;
		}
		
		
	}
	
	
	public void menu2() {
		System.out.println();
		System.out.println(" |=====================================|");
		System.out.println(" |               1.显示所有学生信息                            |");
		System.out.println(" |-------------------------------------|");
		System.out.println(" |               2.查询单个学员信息                            |");
		System.out.println(" |-------------------------------------|");
		System.out.println(" |               3.添加学员信息                                    |");
		System.out.println(" |-------------------------------------|");
		System.out.println(" |               4.修改学员信息【年龄,地址】        |");
		System.out.println(" |-------------------------------------|");
		System.out.println(" |               5.删除学员信息                                    |");
		System.out.println(" |-------------------------------------|");
		System.out.println(" |               6.返回                                                    |");
		System.out.println(" |=====================================|");
		System.out.print("请选择你要操作的功能序号:");
		op = Util.input.nextInt();
		switch (op) {
		case 1:
			iStudentDao = new IStudentDaolmpl();
			iStudentDao.selextAll();
			break;
		case 2:
			System.out.println("请输入您的学号:");
			String id = Util.input.next();
			Student student = iStudentDao.selectId(id);
			if (student!=null) {
				System.out.println(student);
			}else {
				System.out.println("次學生不存在");
			}
			break;
		case 3:
			System.out.println("请输入您的学号:");
			String id1 = Util.input.next();
		    System.out.println("请输入您的姓名:");
			String name = Util.input.next();
			System.out.println("请输入您的年龄:");
			int age = Util.input.nextInt();
			System.out.println("请输入您的性别:");
			char sex = Util.input.next().charAt(0);	
			System.out.println("请输入您的地址:");
			String address = Util.input.next();		
			System.out.println("请输入您的专业:");
			String major = Util.input.next();
	
			Student student1 = new Student(id1, name, age, sex, address, major);
			iStudentDao = new IStudentDaolmpl();
			Student student2 = iStudentDao.selectId(id1);
			if (student2!=null) {
				System.out.println("该学生已存在!");
				break;
			}
			boolean isRight = iStudentDao.register(student1);
			if (isRight) {
				System.out.println("注册成功");
			}else {
				System.err.println("注册失败!");
			}
			break;
		case 4:
			System.out.println("请输入您的学号:");
			String id11 = Util.input.next();
			Student student11 = iStudentDao.selectId(id11);
			if (student11!=null) {
				System.out.println(student11);
				System.out.println("请输入修改后的年龄:");
				int age1 = Util.input.nextInt();
				System.out.println("请输入修改后的地址:");
				String address1 = Util.input.next();	
				student11.setAge(age1);
				student11.setAddress(address1);
				System.out.println("ok");
			}else {
				System.out.println("次學生不存在");
			}
			break;
		case 5:
			System.out.println("请输入您的学号:");
			String id111 = Util.input.next();
			Student student111 = iStudentDao.selectId(id111);
			if (student111!=null) {
				iStudentDao.move(id111);
				System.out.println("刪除ok");
			}else {
				System.out.println("次學生不存在");
			}
			break;
		case 6:
			break;
		default:System.out.println("选项错误");
			break;
		}
	}
}
  • 7 主类
package Yak3;

public class Test {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		View view=new View();
		while (true) {
			view.menu1();
		}
	}
}

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值