找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1194|回复: 0
收起左侧

Java面向对象的设计—学生管理系统代码(增、删、查、找)

[复制链接]
ID:1037921 发表于 2022-7-1 15:42 | 显示全部楼层 |阅读模式
内容概要:Java——实现学生管理系统(增、删、查、找)适合人群:具备一定的编程能力,对Java语言的基本语法有一定的了解,适合在校大学生能学到什么:① 做系统的基本框架与思路② 功能模块化,后集体调用,方便后期管理③ 代码的规范使用阅读建议:①可以打开自己的编软件进行手动写入(我的时IntelliJ IDEA 2021.3.3)②进行写代码之前可以,先过一下思路,想想如何实现各个功能,最后不要忘记调用方法③在阅读的过程中,希望可以与自己的所学知识相结合,进行思考④代码编写实现也更注重内容上的需求分析和方案设计,所以在学习的过程要结合这些内容一起来实践,并调试对应的代码。
  1. package studentManager;

  2. /*
  3.    学生类
  4. */
  5. public class Student {
  6.     private String sid;
  7.     //学号
  8.     private String name;
  9.     //姓名
  10.     private String age;
  11.     //年龄
  12.     private String address;

  13.     //地址
  14.     public Student() {
  15.     }

  16.     public String getSid() {
  17.         return sid;
  18.     }

  19.     public void setSid(String sid) {
  20.         this.sid = sid;
  21.     }

  22.     public String getName() {
  23.         return name;
  24.     }

  25.     public void setName(String name) {
  26.         this.name = name;
  27.     }

  28.     public String getAge() {
  29.         return age;
  30.     }

  31.     public void setAge(String age) {
  32.         this.age = age;
  33.     }

  34.     public String getAddress() {
  35.         return address;
  36.     }

  37.     public void setAddress(String address) {
  38.         this.address = address;
  39.     }
  40. }
复制代码

  1. package studentManager;

  2. import java.util.ArrayList;
  3. import java.util.Scanner;

  4. /*
  5.    学生管理系统
  6. */
  7. public class StudentManager {
  8.     public static void main(String[] args) {
  9.         //创建集合对象,用于存储学生数据
  10.         ArrayList<Student> array = new ArrayList<Student>();

  11.         //用循环再次回到主界面
  12.         while (true) {
  13.             //用输出语句完成主界面的编写
  14.             System.out.println("--------欢迎来到学生管理系统--------");
  15.             System.out.println("1 添加学生");
  16.             System.out.println("2 删除学生");
  17.             System.out.println("3 修改学生");
  18.             System.out.println("4 查看所有学生");
  19.             System.out.println("5 退出");
  20.             System.out.println("请输入你的选择:");

  21.             //用Scanner实现键盘录入数据
  22.             Scanner sc = new Scanner(System.in);
  23.             String line = sc.nextLine();

  24.             //用switch语句完成操作的选择
  25.             switch (line) {
  26.                 case "1":
  27.                     //调用addStudent方法,用来添加学生
  28.                     addStudent(array);
  29.                     break;
  30.                 case "2":
  31.                     //调用deleteStudent方法,用来删除学生
  32.                     deleteStudent(array);
  33.                     break;
  34.                 case "3":
  35.                     //调用updateStudent方法,用来修改学生
  36.                     updateStudent(array);
  37.                     break;
  38.                 case "4":
  39.                     //调用findtudent方法,用来查看学生
  40.                     findStudent(array);
  41.                     break;
  42.                 case "5":
  43.                     System.out.println("谢谢使用");
  44.                     //break;
  45.                     System.exit(0);//JVM虚拟机退出

  46.             }
  47.         }
  48.     }

  49.     //定义一个方法,用于添加学生信息
  50.     public static void addStudent(ArrayList<Student> array) {
  51.         //键盘录入学生对象所需要的数据,显示提示信息,提示要输入何种信息
  52.         Scanner sc = new Scanner(System.in);

  53.         System.out.println("请输入学生学号");
  54.         String sid = sc.nextLine();
  55.         System.out.println("请输入学生姓名");
  56.         String name = sc.nextLine();
  57.         System.out.println("请输入学生年龄");
  58.         String age = sc.nextLine();
  59.         System.out.println("请输入学生地址");
  60.         String address = sc.nextLine();

  61.         //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
  62.         Student s = new Student();
  63.         s.setSid(sid);
  64.         s.setName(name);
  65.         s.setAge(age);
  66.         s.setAddress(address);

  67.         //将学生对象添加到集合中
  68.         array.add(s);

  69.         //给出添加成功提示
  70.         System.out.println("恭喜你,添加学生成功!");
  71.     }

  72.     //定义一个方法,用于查看学生信息
  73.     public static void findStudent(ArrayList<Student> array) {
  74.         //判断集合中是否有数据,如果没有显示提示信息
  75.         if (array.size() == 0) {
  76.             System.out.println("暂无信息,请先手动添加后再进行查询!");
  77.             //为了不让程序往下执行,给出return;
  78.             return;
  79.         }
  80.         //显示表头信息
  81.         //\t即就是Tab键
  82.         System.out.println("学号\t\t\t姓名\t\t年龄\t\t地址");

  83.         //将集合中数据取出按照对应格式显示学生信息,年龄显示补充“岁”
  84.         for (int i = 0; i < array.size(); i++) {
  85.             Student s = array.get(i);
  86.             System.out.println(s.getSid() + "\t" + s.getName() + "\t" + s.getAge() + "岁\t" + s.getAddress());
  87.         }
  88.     }

  89.     //定义一个方法,用于删除学生信息
  90.     public static void deleteStudent(ArrayList<Student> array) {
  91.         //键盘录入要删除的学生学号,显示提示信息
  92.         Scanner sc = new Scanner(System.in);

  93.         int index = -1;
  94.         System.out.println("请输入你要删除的学生学号:");
  95.         String sid = sc.nextLine();

  96.         //遍历集合将对应学生对象从集合中删除
  97.         for (int i = 0; i < array.size(); i++) {
  98.             Student s = array.get(i);
  99.             if (s.getSid().equals(sid)) {
  100.                 array.remove(i);
  101.                 index = i;
  102.                 //给出删除提示成功提示
  103.                 System.out.println("您已成功删除");
  104.                 break;
  105.             } else {
  106.                 if (index == -1) {
  107.                     System.out.println("信息不存在,请您添加后在进行删除!");
  108.                 }
  109.             }
  110.         }
  111.     }

  112.     //定义一个方法,用于修改学生信息
  113.     public static void updateStudent(ArrayList<Student> array) {
  114.         //键盘录入要修改的学生学号,显示提示信息
  115.         Scanner sc = new Scanner(System.in);

  116.         //防止学号不存在问题
  117.         int index = -1;//i的值不可能为负数,所以采用这个值
  118.         System.out.println("请输入您要修改的学生的学号");
  119.         String sid = sc.nextLine();

  120.         //键盘录入要修改的学生信息
  121.         System.out.println("请输入学生新姓名");
  122.         String name = sc.nextLine();
  123.         System.out.println("请输入学生新年龄");
  124.         String age = sc.nextLine();
  125.         System.out.println("请输入学生地址");
  126.         String address = sc.nextLine();

  127.         //创建学生对象
  128.         Student s = new Student();
  129.         s.setSid(sid);
  130.         s.setName(name);
  131.         s.setAge(age);
  132.         s.setAddress(address);

  133.         //遍历集合修改对应的学生信息
  134.         for (int i = 0; i < array.size(); i++) {
  135.             Student student = array.get(i);
  136.             if (student.getSid().equals(sid)) {
  137.                 array.set(i, s);
  138.                 index = i;
  139.                 //给出修改成功提示
  140.                 System.out.println("您已成功修改!");
  141.                 break;
  142.             } else {
  143.                 if (index == -1) {
  144.                     System.out.println("此学生的信息未被录入,请您添加后再进行修改!");
  145.                 }
  146.             }
  147.         }
  148.     }
  149. }
复制代码


评分

参与人数 1黑币 +20 收起 理由
admin + 20 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表