学生管理系统(Java)

简介: 学生管理系统(Java)

直接上代码吧!

还是先上示例图吧!一共有18个功能,如果觉得功能较多可以略做删减,这是最初般的不用连接数据库,其他功能小伙伴们可以去探索!-(^-^)-!


实体类:写你所需要的字段,格式如下


数据类型 字段名

int sid、string sname


方法类:增删改查,里面的每个方法都有注释,可以直接看代码


public class People {
  Student s[] = new Student[100];
  // 增加学员信息
  public void addStu(Student stu) {
  boolean f = true;
  for (int i = 0; i < s.length; i++) {
    if(s[i]==null) {
    s[i] = stu;
    System.out.println("增加成功!");
    break;
    }
  }
  }
  //删除学员信息,根据学号删除
  public void deleteStu(String sid) {
  boolean f = false;
  for (int i = 0; i < s.length; i++) {
    if(s[i]!=null) {
    if(s[i].getSid().equals(sid)) {
      s[i] = null;
      f = true;
      System.out.println("删除成功!");
      break;
    }
    }
  }
  if(!f) {
    System.out.println("查无此人!");
  }
  }
  //查看学员信息,学号
  public void findStuBySid(String sid) {
  boolean f = false;
  for (int i = 0; i < s.length; i++) {
    if(s[i]!=null) {
    if(s[i].getSid().equals(sid)) {
      System.out.println(s[i]);
      f = true;
      break;
    }
    }
  }
  if(!f) {
    System.out.println("不好意思,查无此人!");
  }
  }
  // 查看学员信息,最高分学员信息
  public void findMax() {
  for (int i = 0; i < s.length-1; i++) {
    for (int j = i; j < s.length; j++) {
    if(s[j]!=null&&s[i]!=null) {
      if(s[j].getScore()>s[i].getScore()) {
      Student a = s[i];
      s[i]=s[j];
      s[j]=a;
      }
    }
    }
  }
  System.out.println(s[0]);
  }
  // 查看学员信息,最低分学员信息
  public void findMin() {
  for (int i = 0; i < s.length-1; i++) {
    for (int j = i; j < s.length; j++) {
    if(s[j]!=null&&s[i]!=null) {
      if(s[j].getScore()<s[i].getScore()) {
      Student a = s[i];
      s[i]=s[j];
      s[j]=a;
      }
    }
    }
  }
  System.out.println(s[0]);
  }
  //查看学员信息,从大到小冒号排序
  public void findMaxq() {
   for (int i = 0; i < s.length-1; i++) {
    for (int j = i; j < s.length; j++) {
      if(s[j]!=null&&s[i]!=null) {
      if(s[j].getScore()>s[i].getScore()) {
        Student a = s[i];
        s[i] = s[j];
        s[j] = a;
      }
      }
    }
    if(s[i]!=null) {  
      System.out.println(s[i]);
    }
    }
  }
  //判断学号是否重复 返回类型定为boolean
  public boolean isExists(String sid) {
  boolean f=false;
  for (int i = 0; i < s.length; i++) {
    if(s[i]!=null) {
    if(s[i].getSid().equals(sid)) {
      f = true;
    }
    }
  }
  return false;
  }
  // 查看学员信息,从小到大冒号排序
  public void findMimq() {
  for (int i = 0; i < s.length-1; i++) {
    for (int j = i; j < s.length; j++) {
    if(s[j]!=null&&s[i]!=null) {
      if(s[j].getScore()<s[i].getScore()) {
      Student a = s[i];
      s[i] = s[j];
      s[j] = a;
      }
    }
    }
    if(s[i]!=null) {  
    System.out.println(s[i]);
    }
  }
  }
  // 查看学员信息,从大到小冒号排序
  public void findMaxNl() {
  for (int i = 0; i < s.length-1; i++) {
    for (int j = i; j < s.length; j++) {
    if(s[j]!=null&&s[i]!=null) {
      if(s[j].getAge()>s[i].getAge()) {
      Student a = s[i];
      s[i] = s[j];
      s[j] = a;
      }
    }
    }
    if(s[i]!=null) {  
    System.out.println(s[i]);
    }
  }
  }
  //查看学员信息,从小到大冒号排序
  public void findMimNl() {
  for (int i = 0; i < s.length-1; i++) {
    for (int j = i; j < s.length; j++) {
    if(s[j]!=null&&s[i]!=null) {
      if(s[j].getAge()<s[i].getAge()) {
      Student a = s[i];
      s[i] = s[j];
      s[j] = a;
      }
    }
    }
    if(s[i]!=null) {  
    System.out.println(s[i]);
    }
  } 
  }
  //查看总分与平均分
  public void TotalandAverage() {
  int sum = 0;
  int count = 0;
  for (int i = 0; i < s.length; i++) {
    if(s[i]!=null) {
    sum +=s[i].getScore();
    count++;
    }
  }
  System.out.println("总分为:"+sum+"\t\t平均分为:"+sum/count);
  } 
  //修改学员信息
  // 包含学号sid、姓名sname、年龄age、分数score、性别sex
  public void updateSum(String oldsid,String sid,String sname,int age,double score,String sex) {
  for (int i = 0; i < s.length; i++) {
    if(s[i].getSid().equals(oldsid)) {
    s[i].setSid(sid);
    s[i].setSname(sname);
    s[i].setAge(age);
    s[i].setScore(score);
    s[i].setSex(sex);
    }
    System.out.println(s[i]);
  } 
  }
  //修改学员信息,学号
  public void updateStuxh(String oldsnaem,String newsid) {
  boolean f = false;
  for (int i = 0; i < s.length; i++) {
    if(s[i]!=null) {
    if(s[i].getSname().equals(oldsnaem)) {
      s[i].setSid(newsid);
      f = true;
      System.out.println("学号修改成功!");
      break;
    }
    }
  }
  if(!f) {
    System.out.println("查无此人!");
  } 
  }
  //修改学员信息,姓名
  public void updateStuxm(String oldsname,String newsname) {
  boolean f = false;
  for (int i = 0; i < s.length; i++) {
    if(s[i]!=null) {
    if(s[i].getSname().equals(oldsname)) {
      s[i].setSname(newsname);
      f = true;
      System.out.println("姓名修改成功!");
      break;
    }
    }
  }
  if(!f) {
    System.out.println("查无此人!");
  } 
  }
  // 修改学员信息,年龄  
  public void updateStunn(String oldsname,int newage) {
  boolean f = false;
  for (int i = 0; i < s.length; i++) {
    if(s[i]!=null) {
    if(s[i].getSname().equals(oldsname)) {
      s[i].setAge(newage);;
      f = true;
      System.out.println("年龄修改成功!");
      break;
    }
    }
  }
  if(!f) {
    System.out.println("查无此人!");
  } 
  }
  // 修改学员信息,分数
  public void updateStufs(String oldsname,int newscore) {
  boolean f = false;
  for (int i = 0; i < s.length; i++) {
    if(s[i]!=null) {
    if(s[i].getSname().equals(oldsname)) {
      s[i].setScore(newscore);;
      f = true;
      System.out.println("分数修改成功!");
      break;
    }
    }
  }
  if(!f) {
    System.out.println("查无此人!");
  } 
  }
  //修改学员信息,性别
  public void updateStuxb(String oldsname,String newsex) {
  boolean f = false;
  for (int i = 0; i < s.length; i++) {
    if(s[i]!=null) {
    if(s[i].getSex().equals(oldsname)) {
      s[i].setSex(newsex);
      f = true;
      System.out.println("性别修改成功!");
      break;
    }
    }
  }
  if(!f) {
    System.out.println("查无此人!");
  } 
  }
  // 打印学员信息 
  public void printAll() {
  for (Student stu : s) {
    if(stu!=null) {
    System.out.println(stu);
    }
  } 
  }
  public void setSid(String sid) {
  // TODO Auto-generated method stub
  }
}


接口类:interface可以做引用类型,不可以做实例化对象


public interface Ipeople {
  // 增加学员信息
  public void addStu(Student stu); 
  //删除学员信息,根据学号删除
  public void deleteStu(String sid);
  //查看学员信息,学号
  public void findStuBySid(String sid);
  // 查看学员信息,最高分学员信息
  public void findMax();
  // 查看学员信息,最低分学员信息
  public void findMin();
   //查看学员信息,从大到小冒号排序
  public void findMaxq();
  //判断学号是否重复 返回类型定为boolean
  public boolean isExists(String sid);
  // 查看学员信息,从小到大冒号排序
  public void findMimq();
  // 查看学员信息,从大到小冒号排序
  public void findMaxNl();
  //查看学员信息,从小到大冒号排序
  public void findMimNl();
  //查看总分与平均分
  public void TotalandAverage();
  //修改学员信息
  // 包含学号sid、姓名sname、年龄age、分数score、性别sex
    public void updateSum(String oldsid,String sid,String sname,int age,double score,String sex);
  //修改学员信息,学号
    public void updateStuxh(String oldsname,String newsid);
  //修改学员信息,姓名
    public void updateStuxm(String oldsname,String newsname);
  // 修改学员信息,年龄  
    public  void updateStunn(String oldsname,int newage);
  // 修改学员信息,分数
    public void updateStufs(String oldsname,int newscore);
  //修改学员信息,性别
    public void updateStuxb(String oldsname,String newsex);
  // 打印学员信息 
    public void printAll();
}


测试类:直接看代码


import java.util.Scanner;//导包
public class Test {
  public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  Student xs[] = new Student[100];
  People stu = new People();
  while(true) {
    try {
    System.out.println("进入学员管理系统请输入对应的账户:");
    String zh = sc.next();
    System.out.println("进入学员管理系统请输入对应的账户密码:");
    int mm = sc.nextInt();
    if(zh.equals("qwe")&&mm==123) {
    System.out.println("\t\t\t\t!-(^-^)-!欢迎来到学员管理系统!-(^-^)-!");
    while (true) {//1
      System.out.println("请输入你的选择:1、查看学员信息,2、增加学员信息,3、修改学员信息,4、删除学员信息,5、打印学员信息,6、退出学员管理系统");
      int a = sc.nextInt();
      if(a==1) {//查看学员信息
        while(true) {
        System.out.println("请输入你的选择:1、查看单个学员信息,2查看所有学员信息,3、返回上级菜单");
        int z = sc.nextInt();
        if(z==1) {//查看单个学员信息
          while(true) {
          System.out.println("请输入你的选择:1、根据学号查看,2、查看最高分学员信息,3、查看最低分学员信息,4、返回上级菜单");
          int b = sc.nextInt();
          if(b==1) {//根据学号查看
            System.out.println("\t请输入你要查看的学号");
            String sid = sc.next();
            stu.findStuBySid(sid);
          }
          else if(b==2) {//查看最高分学员信息
            stu.findMax();
          }
          else if(b==3) {//查看最低分学员信息
            stu.findMin();
          }
          else if(b==4) {//返回上级菜单
            System.out.println("\t\t\t(*-*)!已返回上级菜单!");
            break;
          }
          else {//1-4以外的选择
            System.out.println("\t没有该指令(?—?)\n\t请输入正确的1-4选择:");
          }
          }
        }
        else if(z==2) {//查看所有学员信息
          while(true) {
          System.out.println("请输入你的选择:1、按照成绩的最高分排序,2、按照成绩的最低分排序,3、按照年龄的最高分排序,4、按照年龄的最低分排序,5、查看总分与平均分,6、返回上级菜单");
          int e = sc.nextInt();
          if(e==1) {//按照成绩的最高分排序
            stu.findMaxq();
          }
          else if(e==2) {//按照成绩的最低分排序
            stu.findMimq();
          }
          else if(e==3) {//按照年龄的最高分排序
            stu.findMaxNl();
          }
          else if(e==4) {//按照年龄的最低分排序
            stu.findMimNl();
          }
          else if(e==5) {//查看总分与平均分
            stu.TotalandAverage();
          }
          else if(e==6) {//返回上级菜单
            System.out.println("\t\t\t(*-*)!已返回上级菜单!");
            break;
          }
          else {//1-6以外的选择
            System.out.println("\t没有该指令(?—?)\n\t请输入正确的1-6选择:");
          }
          }
        }
        else if(z==3) {//返回上级菜单
          System.out.println("\t\t\t(*-*)!已返回上级菜单!");
          break;
        }
        else {//1-3以外的选择
          System.out.println("\t没有该指令(?—?)\n\t请输入正确的1-3选择:");
        }
        }
      }
      else if(a==2) {//增加学员信息
  //      包含学号sid、姓名sname、年龄age、分数score、性别sex
        System.out.println("请输入你要增加的学员个数:");
        int g = sc.nextInt();
        for (int i = 0; i < g; i++) {
        Student s = new Student();
        System.out.println("请输入学员的学号:");
        String sid = sc.next();
        for (int k = 0; k < xs.length; k++) {
          boolean b = stu.isExists(sid);
          if (b==false) {
          s.setSid(sid);
          }
          else {
          System.out.println("\t该学号已存在");
          break;
          }
        }
        System.out.println("请输入第"+(i+1)+"个学员的姓名:");
        String sname = sc.next();
        s.setSname(sname);
        while(true) {
          System.out.println("请输入第"+(i+1)+"个学员的年龄:");
          int age = sc.nextInt();
          if(age>0&&age<100) {
          s.setAge(age);
          break;
          }
          else {
          System.out.println("\t第"+(i+1)+"个学员的年龄在0-100之间,请重新输入:");
          }
        }
        while(true) {
          System.out.println("请输入第"+(i+1)+"个学员的分数:");
          int score = sc.nextInt();
          if(score>0&&score<100) {
          s.setScore(score);
          break;
          }
          else {
          System.out.println("\t第"+(i+1)+"个学员的成绩在0-100之间,请重新输入:");
          }
        }
        while(true) {
          System.out.println("请输入第"+(i+1)+"个学员的性别:");
          String sex = sc.next();
          if(sex.equals("男")||sex.equals("女")) {
          s.setSex(sex);
          break;
          }
          else {
          System.out.println("\t第"+(i+1)+"个学员的性别只有男女之分,请重新输入:");
          }
        }
        System.out.println(s);
        stu.addStu(s);
        }
      }
      else if(a==3) {//修改学员信息
        while(true) {
        System.out.println("请输入你的选择:1、根据学号修改全部,2、修改单个,3、返回上级菜单");
        int c = sc.nextInt();
        if(c==1) {//修改全部包含姓名sname、学号sid、年龄age、分数score、性别sex
          System.out.println("请输入修改前的学员学号:");
          String oldsid = sc.next();
          System.out.println("请输入修改后的学员学号:");
          String sid = sc.next();
          System.out.println("请输入修改后的学员姓名:");
          String sname = sc.next();
          System.out.println("请输入修改后的学员年龄:");
          int age = sc.nextInt();
          System.out.println("请输入修改后的学员分数:");
          double score = sc.nextDouble();
          System.out.println("请输入修改后的学员性别:");
          String sex = sc.next();
          stu.updateSum(oldsid, sid, sname, age, score, sex);
          System.out.println("\t恭喜你,已修改该学员全部信息!");
        }
        else if(c==2) {//修改单个
          System.out.println("请输入你的选择:1、修改姓名,2、根据姓名修改学号,3、根据姓名修改年龄,4、根据姓名修改分数,5、根据姓名修改性别,6、返回上级菜单");
          int d = sc.nextInt();
          if(d==1) {//修改姓名
          System.out.println("请输入修改前的学员姓名:");
          String oldsname = sc.next();
          System.out.println("请输入修改后的学员姓名:");
          String newsname = sc.next();
          stu.updateStuxm(oldsname, newsname);
          }
          else if(d==2) {//修改学号
          System.out.println("请输入修改前的学员姓名:");
          String oldsname = sc.next();
          System.out.println("请输入修改后的学员学号:");
          String newsid = sc.next();
          stu.updateStuxh(oldsname, newsid);
          }
          else if(d==3) {//修改年龄
          System.out.println("请输入修改前的学员姓名:");
          String oldsname = sc.next();
          System.out.println("请输入修改后的学员年龄:");
          int newage = sc.nextInt();
          stu.updateStunn(oldsname, newage);
          }
          else if(d==4) {//修改分数
          System.out.println("请输入修改前的学员姓名:");
          String oldsname = sc.next();
          System.out.println("请输入修改后的学员分数:");
          int newscore = sc.nextInt();
          stu.updateStufs(oldsname, newscore);
          }
          else if(d==5) {//修改性别
          System.out.println("请输入修改前的学员姓名:");
          String oldsname = sc.next();
          System.out.println("请输入修改后的学员性别:");
          String newsex = sc.next();
          stu.updateStuxb(oldsname, newsex);
          }
          else if(d==6) {//返回上级菜单
          System.out.println("\t\t\t(*-*)!已返回上级菜单!");
          break;
          }
          else {
          System.out.println("\t没有该指令(?—?)\n\t请重新输入正确的1-5选择:");
          }
        }
        else if(c==3) {//返回上级菜单
          System.out.println("\t\t\t(*-*)!已返回上级菜单!");
          break;
        }
        }
      }
      else if(a==4) {//删除学员信息
        System.out.println("请输入你要删除的学员学号:");
        String sid = sc.next();
        stu.deleteStu(sid);
      }
      else if(a==5) {//打印学员信息
        System.out.println("打印结果如下:");
        stu.printAll();
      }
      else if(a==6) {//退出学员管理系统
        System.out.println("感谢使用本系统!(^-^)!");
        break;
      }
      else {//1-6以外的选择
        System.out.println("\t没有该指令(?—?)\n\t请重新输入正确的1-6选择:");
      }
      }
    }
    else {
      System.out.println("\t你输入的账户或密码错误,请重新输入!");
    }
    break;
    }catch(Exception e) {
    System.out.println("请输入正确选项:");
    }
  }
  }
}
相关文章
|
2月前
|
Java Apache Maven
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
61 6
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
|
3月前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的服装商城管理系统
基于Java+Springboot+Vue开发的服装商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的服装商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
176 2
基于Java+Springboot+Vue开发的服装商城管理系统
|
1月前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
76 3
|
1月前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
30 1
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
移动开发 前端开发 JavaScript
java家政系统成品源码的关键特点和技术应用
家政系统成品源码是已开发完成的家政服务管理软件,支持用户注册、登录、管理个人资料,家政人员信息管理,服务项目分类,订单与预约管理,支付集成,评价与反馈,地图定位等功能。适用于各种规模的家政服务公司,采用uniapp、SpringBoot、MySQL等技术栈,确保高效管理和优质用户体验。
|
2月前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
55 1
|
2月前
|
Java 关系型数据库 API
介绍一款Java开发的企业接口管理系统和开放平台
YesApi接口管理平台Java版,基于Spring Boot、Vue.js等技术,提供API接口的快速研发、管理、开放及收费等功能,支持多数据库、Docker部署,适用于企业级PaaS和SaaS平台的二次开发与搭建。
|
2月前
|
Java 关系型数据库 MySQL
基于Java的学生成绩管理系统/学生信息管理系统
基于Java的学生成绩管理系统/学生信息管理系统
63 2
|
3月前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的大学竞赛报名管理系统
基于Java+Springboot+Vue开发的大学竞赛报名管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的大学竞赛报名管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
230 3
基于Java+Springboot+Vue开发的大学竞赛报名管理系统