要求
总体要求
学生信息:学号、姓名、性别、年龄、班级、宿舍
实现学生信息的增删改查
详细要求
增加:public void addStu()
给数据库中添加一条学生数据。
删除:public void delStu()
从数据库中根据学号删除一条学生数据。
修改:public void updStu()
可以根据学号修改学生的信息.例如请实现修改学号为10086的学生姓名:三一改为三毛,年龄20改为25 性别 男改为女
查询:public void showStu()
可以根据学号查询学生的信息
**备注:**边界检测基本没做,例如性别没限制等等
运行截图
该程序有两个类
(1)学生增删改查方法类
//学生类
import java.util.*;
public class Student {
int stuNumber, stuAge, stuBanji;
String stuName, stuSex, stuRoom;
ArrayList<Student> stuDb = new ArrayList<Student>();
Iterator<Student> it = stuDb.iterator();
//添加学生信息 学号 姓名 性别 年龄 班级 宿舍
public void addStu(int stuXueHAO, String stuXinming, String stuXingbie, int stuNianling, int stuBJ, String stuSUshe) {
Boolean isAdd = true;//T代表能添加,反之
Student sADD = new Student();
//边界检测 如果有重复学号添加 则添加失败
if (stuDb.size() == 0){
sADD.stuNumber = stuXueHAO;
sADD.stuName = stuXinming;
sADD.stuSex = stuXingbie;
sADD.stuAge = stuNianling;
sADD.stuBanji = stuBJ;
sADD.stuRoom = stuSUshe;
stuDb.add(sADD);
System.out.printf("添加成功!");
}
else {
for (int i = 0; i <stuDb.size() ; i++){
if(stuDb.get(i).stuNumber==stuXueHAO){
System.out.println("学生已在数据库中,添加失败!");
isAdd=false;//如果有重复就不能添加,将添加标志置false
}
}
}
if(isAdd==true && stuDb.get(0).stuNumber != stuXueHAO){
sADD.stuNumber = stuXueHAO;
sADD.stuName = stuXinming;
sADD.stuSex = stuXingbie;
sADD.stuAge = stuNianling;
sADD.stuBanji = stuBJ;
sADD.stuRoom = stuSUshe;
stuDb.add(sADD);
System.out.printf("添加成功!");
}
isAdd = true;//对标志重新赋值,要不然重复一次之后isadd就永远被设置为false了
// 根本进不去if(isAdd==true && stuDb.get(0).stuNumber != stuXueHAO)这个循环
}
@Override
public String toString() {
return "Student{" +
"姓名='" + stuName + '\'' +
",学号=" + stuNumber +
",性别='" + stuSex + '\'' +
",年龄=" + stuAge +
",班级=" + stuBanji +
",宿舍='" + stuRoom + '\'' +
'}';
}
//根据指定学号 删除学生信息
public void delStu(int delNum) {
if(stuDb.isEmpty()){
System.out.println("数据库内为空,删除失败!");
}
for (int i = 0; i <stuDb.size() ; i++) {
if(stuDb.get(i).stuNumber==delNum){
stuDb.remove(i);
System.out.printf("删除成功!");
return;
}
}
if(!stuDb.isEmpty()){
System.out.println("数据库内没有该学生信息,删除失败!");
}
}
//根据指定学号 更新学生信息
public void updStu(int updNum,String updName,String updXingBie,int updAge) {
if (stuDb.isEmpty()) {
System.out.println("数据库内为空,修改失败!");
}
for (int i = 0; i < stuDb.size(); i++) {
if (stuDb.get(i).stuNumber == updNum) {
stuDb.get(i).stuName=updName;
stuDb.get(i).stuSex=updXingBie;
stuDb.get(i).stuAge=updAge;
System.out.printf("修改成功!");
return;
}
}
if(!stuDb.isEmpty()){
System.out.println("数据库内没有该学生信息,修改失败!");
}
}
//查看学生信息
public void showStu() {
Iterator<Student> it = stuDb.iterator();
while (it.hasNext()) {
Student tempS = it.next();
System.out.println(tempS);
}
if(stuDb.size()==0){
System.out.println("目前数据库中还没有学生!");
}
}
}
(2)功能实现类
import java.util.*;
public class Operate {
static Scanner rader = new Scanner(System.in);
Student opeStu=new Student();
public void oprtStu(int opeCode){
switch (opeCode){
case 1://查看学生信息
opeStu.showStu();break;
case 2://增加学生信息 学号 姓名 性别 年龄 班级 宿舍
System.out.print("请依次输入要添加的学生信息:学号,姓名,性别,年龄,班级,宿舍。");
opeStu.addStu(rader.nextInt(),rader.next(),rader.next(),rader.nextInt(),rader.nextInt(),rader.next());break;//由bug,插不进去息
// opeStu.addStu(1,"12","nan",4,1,"4455");break;
case 3://删除学生信息
System.out.print("请输入要删除的学号:");
opeStu.delStu(rader.nextInt());break;
case 4://修改学生信息
System.out.print("请依次输入要更改学生的信息:学号,姓名,性别,年龄。");
opeStu.updStu(rader.nextInt(),rader.next(),rader.next(),rader.nextInt());break;
case 0://退出系统
System.exit(0);
default:
System.out.println("请重新输入!");
}
}
/* while (rader.hasNext()) {
System.out.println("输出:" + rader.next());
}*/
public void ui(){
System.out.println("============欢迎使用学生信息管理系统============");
System.out.println("\t\t\t查看学生信息请输入:1\t\t\t");
System.out.println("\t\t\t添加学生信息请输入:2\t\t\t");
System.out.println("\t\t\t删除学生信息请输入:3\t\t\t");
System.out.println("\t\t\t更新学生信息请输入:4\t\t\t");
System.out.println("=============退出系统请输入:0=================");
}
public static void main(String[] args) {
Operate oper=new Operate();
oper.ui();
System.out.print("请根据需要的操作输入数字:");
while (rader.hasNextInt()){
oper.ui();
oper.oprtStu(rader.nextInt());
System.out.print("请继续根据需要的操作输入数字:");
}
}
}