Java学生信息管理系统
吾人为学 人气:0需求: 制作一个简单的学生信息管理系统
1、通过键盘选择操作进行添加学生(学号,姓名,性别,年龄,成绩)的信息,这些信息通过数组存储。
2、同时还可以进行:
(1)查询某个或全体学生信息;
(2)修改学生信息;
(3)删除学生信息的操作。
要求:有一定的优化,例如对用户输入信息是否符合要求的处理。
1.首先对学生的 学号,姓名,性别,年龄,成绩这五个信息进行定义,为了不让所有人都能访问到,所以权限都定义为private,通过getter、setter方法进行访问:
/** * * 设置学生信息 * * @author Incentancy * */ public class Student { private String stuName; private String stuNo; private String gender; private int age; private int score; public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public String getStuNo() { return stuNo; } public void setStuNo(String stuNo) { this.stuNo = stuNo; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } }
2.然后在一个新类中添加对学生信息的增删改查操作,并且要求能对用户输入的数据进行初步的判断:
import java.util.ArrayList; import java.util.Scanner; import com.xt.eleventhHW.stu.Student; public class StuData { private ArrayList stus = new ArrayList (); //static int index = 0; Scanner scanner = new Scanner(System.in); /** * 增加学生信息 * @param stu */ public void addStu(Student stu){ stus.add(stu); } //输入学生信息 public void append(){ Student stu = new Student(); /** * 通过封装方法,将学生信息赋给stus */ stu.setStuName(name()); stu.setStuNo(stuNum()); stu.setGender(gender()); stu.setAge(age()); stu.setScore(score()); //将stu中的信息增添到stus中 addStu(stu); System.out.println("学生信息已添加!"); System.out.println(); } //得到学生姓名 public String name(){ String name; System.out.println("请输入学生的姓名:"); name = scanner.next(); return name; } //得到学生学号 public String stuNum(){ String stuNum; System.out.println("请输入学生的学号:"); stuNum = scanner.next(); //如果学号不为11位,则重新输入,直到学号正确 if(stuNum.length() != 11){ System.out.println("您输入的学号有误!请重新输入!"); stuNum(); } //如果学号已存在,则重新输入,直到不存在 for(int i = 0; i < stus.size(); i++){ if(stuNum.equals(stus.get(i).getStuNo())){ System.out.println("该学号已存在!请重新输入!"); stuNum(); break; } } return stuNum; } //得到学生的性别 public String gender(){ String stuGender; System.out.println("请输入学生的性别:"); stuGender = scanner.next(); if(!stuGender.equals("男") && !stuGender.equals("女") ){ System.out.println("您输入的学生性别有误!请重新输入!"); gender(); } return stuGender; } //得到学生的年龄 public int age(){ int stuAge; System.out.println("请输入学生的年龄:"); stuAge = scanner.nextInt(); if(stuAge < 0 || stuAge >= 80){ System.out.println("您输入的年龄有误!请重新输入!"); age(); } return stuAge; } //得到学生的成绩 public int score(){ int stuScore; System.out.println("请输入学生的成绩:"); stuScore = scanner.nextInt(); if(stuScore < 0 || stuScore > 100){ System.out.println("您输入的成绩有误!请重新输入!"); score(); } return stuScore; } /** * * 删除学生信息 * * @param stuNo */ public void delStu(){ System.out.println("请输入您想删除的学号:"); String stuNo = scanner.next(); boolean isDel = false; for(int i = 0; i < stus.size(); i++){ if(stuNo.equals(stus.get(i).getStuNo())){ isDel = true; stus.remove(i); break; } } if(isDel){ System.out.println("删除操作已完成!"); }else{ System.out.println("无此学生信息!"); } } /** * 修改学生信息: * 1.姓名 * 2.学号 * 3.性别 * 4.年龄 * 5.成绩 * @param stu */ public void updateStu(String stuNo){ boolean flag = false; for(int i = 0; i < stus.size(); i ++){ if(stuNo.equals(stus.get(i).getStuNo())){ flag = true; information(); switch(scanner.nextInt()){ case 1: String name = name(); stus.get(i).setStuName(name);; break; case 2: String stuNum = stuNum(); stus.get(i).setStuNo(stuNum); break; case 3: String gender = gender(); stus.get(i).setGender(gender); break; case 4: int age = age(); stus.get(i).setAge(age); break; case 5: int score = score(); stus.get(i).setScore(score); break; case 0: System.exit(0); } break; } if(!flag) System.out.println("您输入的学号不存在!"); } } public void information(){ 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("0.退出"); System.out.println("请输入序号:"); } /** * 根据学号查询学生信息 * 如果存在,输出学生信息 * @param stuNo */ public void queryStuByStuNo(String stuNo){ boolean flag = false; for(int i = 0; i < stus.size(); i ++){ if(stuNo.equals(stus.get(i).getStuNo())){ System.out.println("姓名:" + stus.get(i).getStuName()); System.out.println("学号:" + stus.get(i).getStuNo()); System.out.println("性别:" + stus.get(i).getGender()); System.out.println("年龄:" + stus.get(i).getAge()); System.out.println("成绩:" + stus.get(i).getScore()); System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+"); System.out.println("|\t姓名\t|\t\t学号\t\t|\t性别\t|\t年龄\t|\t成绩\t|"); System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+"); System.out.println("|\t" + stus.get(i).getStuName() + "\t|\t " + stus.get(i).getStuNo() + " \t|\t" + stus.get(i).getGender() + "\t|\t" + stus.get(i).getAge() + "\t|\t" + stus.get(i).getScore() + "\t|"); System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+"); flag = true; } } if(!flag) System.out.println("该学号不存在!"); } }
3.再新建一个类,将这个类作为操作菜单,通过用户输入的数字调用之前的增删改查操作:
import java.util.Scanner; public class SystemService { Scanner scanner = new Scanner(System.in); public void bulletin(){ System.out.println("1.添加学生信息"); System.out.println("2.删除学生信息"); System.out.println("3.修改学生信息"); System.out.println("4.查询学生信息"); System.out.println("0.退出系统"); System.out.println("请输入序号:"); } public void serviceChoose(){ StuData sd = new StuData(); System.out.println("-----欢迎使用学生信息管理系统-----"); while(true){ bulletin(); switch(scanner.nextInt()){ case 1: sd.append(); System.out.println(); break; case 2: sd.delStu(); System.out.println(); break; case 3: System.out.println("请输入要修改的学生的学号:"); sd.updateStu(scanner.next()); System.out.println(); break; case 4: System.out.println("请输入要查询的学生的学号:"); sd.queryStuByStuNo(scanner.next()); System.out.println(); break; case 0: System.exit(0);//退出系统 } } } }
4.最后写上主方法,就可以进行使用
加载全部内容