學生管理系統(tǒng)
學生管理系統(tǒng)作用就是對于學生信息的處理、存儲。
處理就包括:添加、刪除、修改、顯示、查找等
存儲一般調用數據庫存儲;在這里我們只是作為演示,所以就使用Java 中“HashMap”來模擬。
具體分析之后,我們規(guī)劃出包及分類,在Eclipse里建立如下結構
思考、劃分、優(yōu)化、布局
- 首先就應該是學生(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<String, Student> map;
public void initDB(){
map=new HashMap<String, Student>();
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<String, Student> 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<String> 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("-----學生管理系統(tǒng)------");
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();
}
}
- 項目源碼下載
戳我