java控制台实现学生信息管理系统(集合版)

作者:没事多喝水w 时间:2023-11-11 14:16:52 

使用java语言用集合存储数据实现学生信息管理系统,在控制台上编译执行
可以实现基本的学生信息增加、删除、修改、查询功能

IO版可以参考我的另外一篇博文。

运行界面如下

欢迎界面

java控制台实现学生信息管理系统(集合版)

添加学生信息

java控制台实现学生信息管理系统(集合版)

删除学生信息

java控制台实现学生信息管理系统(集合版)

修改学生信息

java控制台实现学生信息管理系统(集合版)

查询学生信息

java控制台实现学生信息管理系统(集合版)

退出系统

java控制台实现学生信息管理系统(集合版)

系统模块结构图

java控制台实现学生信息管理系统(集合版)

系统业务流程图

java控制台实现学生信息管理系统(集合版)

代码如下

Student类


public class Student {
private String stuNo;
private String name;
private int age;
public Student() {
 super();
 // TODO Auto-generated constructor stub
}
public Student(String stuNo, String name, int age) {
 super();
 this.stuNo = stuNo;
 this.name = name;
 this.age = age;
}
public String getStuNo() {
 return stuNo;
}
public void setStuNo(String stuNo) {
 this.stuNo = stuNo;
}
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;
}
@Override
public int hashCode() {
 final int prime = 31;
 int result = 1;
 result = prime * result + age;
 result = prime * result + ((name == null) ? 0 : name.hashCode());
 result = prime * result + ((stuNo == null) ? 0 : stuNo.hashCode());
 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 (age != other.age)
  return false;
 if (name == null) {
  if (other.name != null)
   return false;
 } else if (!name.equals(other.name))
  return false;
 if (stuNo == null) {
  if (other.stuNo != null)
   return false;
 } else if (!stuNo.equals(other.stuNo))
  return false;
 return true;
}
@Override
public String toString() {
 return "学生:学号 " + stuNo + ", 姓名 " + name + ", 年龄 " + age ;
}

}

StudentDao类


import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Scanner;

public class StudentDAO {
static List<Student> list = new ArrayList<>();
static String ig = "1000";
Scanner sc = new Scanner(System.in);

// 增加学生信息
public void add(List<Student> list) {
 int ig = Integer.parseInt(this.ig);
 while (true) {
  System.out.println(ig);

System.out.println("请输入你要添加的学号为" + ig + "的学生的姓名");
  String name = sc.next();

while (true) {
   System.out.println("请输入你要添加的学号为" + ig + "的学生的年龄");
   Scanner sc1 = new Scanner(System.in);
   if (sc1.hasNextInt()) {
    int age = sc1.nextInt();
    list.add(new Student(String.valueOf(ig), name, age));
    break;
   } else {
    System.out.println("请正确输入");
    continue;
   }
  }
  System.out.println("学号为" + ig + "的学生信息添加成功");
  ig++;
  this.ig = String.valueOf(ig);
  System.out.println("添加信息后,学生的信息为:");
  query(list);
  System.out.println("是否继续执行添加操作(y/n)");
  String result = sc.next();
  if (result.equalsIgnoreCase("n") || result.equalsIgnoreCase("y")) {
   if (result.equalsIgnoreCase("n")) {
    break;
   }
  }

}
}

// 删除学生信息
public void del(List<Student> list) {
 if (list.size() != 0) {
  a: while (true) {
   query(list);
   System.out.println("请输出你要删除的学生的学号");
   String str = sc.next();
   Iterator<Student> it = list.iterator();
   while (it.hasNext()) {
    Student stu = it.next();

if (stu.getStuNo().equals(str)) {
     it.remove();
     System.out.println("删除成功!");
     System.out.println("删除操作后,学生的信息为:");
     query(list);
     break a;// 跳出到指定循环外
    }

}
   System.out.println("查无此人……请查证后重新输入");
  }
 } else {
  System.out.println("还没有添加学生信息,快去添加学生信息吧");
 }
}

// 修改学生信息
public void update(List<Student> list) {
 if (list.size() != 0) {
  a: while (true) {
   query(list);
   System.out.println("请输入要修改学生的学号:");
   String stuNo = sc.next();
   ListIterator<Student> lit = list.listIterator();
   while (lit.hasNext()) {
    Student stu = lit.next();
    if (stu.getStuNo().equals(stuNo)) {
     System.out.println("请输入您要修改的学生的姓名");
     String name = sc.next();
     System.out.println("请输入您要修改的学生的年龄");
     if (sc.hasNextInt()) {
      int age = sc.nextInt();
      stu.setName(name);
      stu.setAge(age);
      System.out.println("修改操作后,学生的信息为:");
      query(list);
      break a;
     } else {
      System.out.println("请正确输入年龄");
     }
    }
   }
   System.out.println("查无此人……请查证后重新输入");
  }
 } else {
  System.out.println("还没有添加学生信息,快去添加学生信息吧");
 }

}

// 查询学生信息
public void query(List<Student> list) {
 if (list.size() != 0) {
  System.out.println("=============学生信息==============");
  for (Student stu : list) {
   System.out.println(stu);
  }
  System.out.println("=================================");
 } else {
  System.out.println("还没有添加学生信息,快去添加学生信息吧");
 }
}
}

StudentManager类


import java.util.Scanner;

/**
*
* 创建时间:2019年12月6日 上午11:40:57
*
*
*/
public class StudentManager {
public static void main(String[] args) {
 while (true) {
  Scanner sc = new Scanner(System.in);
  System.out.println();
  System.out.println();
  System.out.println("=================================");
  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("==================================");
  System.out.println("请输入您的选择");
  int choose;
  if (sc.hasNextInt()) {
   choose = sc.nextInt();
   if (choose > 0 && choose < 6) {
    Student st = new Student();
    StudentDAO std = new StudentDAO();
    switch (choose) {
    case 1:
     std.add(std.list);
     break;
    case 2:
     std.del(std.list);
     break;
    case 3:
     std.update(std.list);
     break;
    case 4:
     std.query(std.list);
     break;
    case 5:
     System.out.println("成功退出……");
     System.out.println("欢迎下次使用");
     System.exit(0);
     break;
    }
   } else {
    System.out.println("请正确输入");
   }

} else {
   System.out.println("请您输入正确的选项");
  }
 }
}
}

本系统中查询功能不是很完善,可以实现功能使用查询功能时可以选择查询全部、按学号查询、按姓名分类等不同的查询方法。

来源:https://blog.csdn.net/w_sl_code/article/details/103433965

标签:java,学生,管理系统
0
投稿

猜你喜欢

  • JAVA注解代码详解一篇就够了

    2022-12-27 14:45:26
  • Android使用SQLite数据库的简单实例

    2022-03-04 13:52:50
  • maven下载jar包改用阿里云maven库的方法

    2023-02-13 07:41:58
  • Android自定义Seekbar滑动条 Pop提示跟随滑动按钮滑动

    2021-11-02 20:32:06
  • C#利用子线程刷新主线程分享教程

    2023-05-16 13:25:46
  • 退出Android程序时清除所有activity的实现方法

    2021-10-09 23:49:30
  • java开发分布式服务框架Dubbo暴露服务过程详解

    2021-07-19 17:59:50
  • Java动态代理四种实现方式详解

    2022-03-12 02:16:38
  • c#实现winform屏幕截图并保存的示例

    2022-08-09 09:06:33
  • Android列表控件Spinner简单用法示例

    2023-03-06 07:36:22
  • 利用Lambda表达式创建新线程案例

    2023-08-26 23:16:00
  • Java8新特性Stream流实例详解

    2023-05-04 12:55:05
  • Java日常练习题,每天进步一点点(63)

    2021-10-22 12:35:44
  • 浅谈JVM垃圾回收有哪些常用算法

    2022-02-28 16:51:56
  • Java中的匿名对象定义与用法实例分析

    2023-04-11 20:03:05
  • Java程序中实现调用Python脚本的方法详解

    2021-07-08 22:00:08
  • C++联合体union用法实例详解

    2023-12-01 16:34:00
  • 使用IDEA搭建ssm框架的详细图文教程

    2021-12-04 10:37:20
  • Android开发之自定义加载动画详解

    2023-07-27 01:41:05
  • springboot使用自定义注解实现aop切面日志

    2023-11-11 09:14:48
  • asp之家 软件编程 m.aspxhome.com