学生管理系统(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("请输入正确选项:");
    }
  }
  }
}
相关文章
|
1天前
|
消息中间件 安全 Java
使用Java实现智能物流管理系统的关键技术
使用Java实现智能物流管理系统的关键技术
|
4天前
|
数据采集 监控 前端开发
JAVA公立医院绩效考核管理系统源码-对接HIS数据
在医院的工作和管理上,院领导需要对院内工作人员的工作情况进行了解、评价和监控。 下面将对医院绩效管理系统的HIS数据流程加以阐述。
11 1
JAVA公立医院绩效考核管理系统源码-对接HIS数据
|
5天前
|
小程序 Java 数据库
基于Java作业管理系统设计和实现(源码+LW+调试文档+讲解等)
基于Java作业管理系统设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
小程序 Java 关系型数据库
基于Java学生选课管理系统设计和实现(源码+LW+调试文档+讲解等)
基于Java学生选课管理系统设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
小程序 Java 关系型数据库
基于Java学生干部管理系统设计和实现(源码+LW+调试文档+讲解等)
基于Java学生干部管理系统设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
安全 小程序 Java
基于Java实训中心管理系统设计和实现(源码+LW+调试文档+讲解等)
基于Java实训中心管理系统设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
存储 安全 Java
基于Java+MySQL停车场车位管理系统详细设计和实现(源码+LW+调试文档+讲解等)
基于Java+MySQL停车场车位管理系统详细设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
存储 小程序 Java
基于Java图书馆管理系统详细设计和实现(源码+LW+调试文档+讲解等)
基于Java图书馆管理系统详细设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
小程序 Java 关系型数据库
基于Java实验室课程管理系统设计和实现(源码+LW+调试文档+讲解等)
基于Java实验室课程管理系统设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
Java 关系型数据库 MySQL
基于Java少儿编程管理系统设计和实现(源码+LW+调试文档+讲解等)
基于Java少儿编程管理系统设计和实现(源码+LW+调试文档+讲解等)