java-学生成绩管理系统-附代码

大一写的,今天整理资料翻到了,仅作纪念。
《学生成绩管理系统》

一、学生成绩管理系统实现环境:JDK1.8,ECLIPSE 4.4.2;
二、功能:0、成绩管理系统的界面实图
java-学生成绩管理系统-附代码_第1张图片

1、录入10个学生信息(学号、姓名、性别、各门课程成绩)输出10个学生信息。
java-学生成绩管理系统-附代码_第2张图片

2、计算每个学生高数、英语、java课程的总成绩和平均成绩并输出、计算各门课程的总成绩和平均成绩并输出。java-学生成绩管理系统-附代码_第3张图片

3:排序,根据学生的总成绩按降序排列,并输出排序后的结果。
java-学生成绩管理系统-附代码_第4张图片

4:分别输出高数、英语、Java课程不及格学生的人数、不及格学生的信息。
java-学生成绩管理系统-附代码_第5张图片

5:根据给定学生的姓名,查找该学生并输出该学生的信息。
在这里插入图片描述

6:删除给定学号学生的信息,并输出删除后的结果。

java-学生成绩管理系统-附代码_第6张图片

7:万年历,输入任意的年份和月份,控制台显示当前月的日期与星期对照
java-学生成绩管理系统-附代码_第7张图片

三、代码(列举完成后附代码,直接拷贝粘贴即可)。

学生类:Student0120


 

public class Student0120 {

  private String xueHao; // 学号

  private String xingMing; // 姓名

  private String xingBie; // 性别

  private double gaoShuCJ; // 数学成绩

  private double yingYuCJ; // 英语成绩

  private double javaCJ; // Java成绩

 

  // 计算总成绩方法

  public double getSum0120() {

    return gaoShuCJ + yingYuCJ + javaCJ;

  }

 

  // 计算平均成绩方法

  public double getAve0120() {

    return getSum0120() / 3;

  }

 

  // 成员信息显示方法

  public void disp0120() {

    System.out.println("学生信息:学号:" + xueHao + ",姓名:" + xingMing + ",性别:"

       \+ xingBie + "数学成绩:" + gaoShuCJ + "英语成绩:" + yingYuCJ + "Java成绩:"

       \+ javaCJ + "总成绩:" + getSum0120() + "平均成绩:" + getAve0120());

 

  }

 

  public String getXueHao() {

    return xueHao;

  }

 

  public void setXueHao(String xueHao) {

    this.xueHao = xueHao;

  }

 

  public String getXingMing() {

    return xingMing;

  }

 

  public void setXingMing(String xingMing) {

    this.xingMing = xingMing;

  }

 

  public String getXingBie() {

    return xingBie;

  }

 

  public void setXingBie(String xingBie) {

    if (!(xingBie.equals("男")) && !(xingBie.equals("女"))) {

      //默认男

      this.xingBie = "男";

    }

    this.xingBie = xingBie;

  }

 

  public double getGaoShuCJ() {

    return gaoShuCJ;

  }

 

  public void setGaoShuCJ(double shuXueCJ) {

    if (shuXueCJ < 0 || shuXueCJ > 100) {

      //默认60

      shuXueCJ = 60;

    }

    this.gaoShuCJ = shuXueCJ;

  }

 

  public double getYingYuCJ() {

    return yingYuCJ;

  }

 

  public void setYingYuCJ(double yingYuCJ) {

    if (yingYuCJ < 0 || yingYuCJ > 100) {

      yingYuCJ = 60;

    }

    this.yingYuCJ = yingYuCJ;

  }

 

  public double getJavaCJ() {

    return javaCJ;

  }

 

  public void setJavaCJ(double javaCJ) {

    if (javaCJ < 0 || javaCJ > 100) {

      //默认60

      javaCJ = 60;

    }

    this.javaCJ = javaCJ;

  }

 

}

功能类:GongNeng0120


 

import java.util.;

 

public class GongNeng0120 {

  List<Student0120> stulist = new ArrayList<Student0120>();

  Scanner input = new Scanner(System.in\);

 

  // 菜单

  public void caiDan0120() {

    System.out.println("输入数字0 退出系统");

    System.out.println("输入数字1 录入学生信息、输出学生信息");

    System.out.println("输入数字2 计算每个学生高数 英语 java课程的总成绩和平均成绩、计算各门课程的总成绩和平均成绩");

    System.out.println("输入数字3 根据学生的总成绩按降序排列");

    System.out.println("输入数字4 分别输出高数、英语、Java课程不及格学生的人数、不及格学生的信息");

    System.out.println("输入数字5 根据给定学生的姓名,查找该学生并输出该学生的信息");

    System.out.println("输入数字6 删除给定学号学生的信息,并输出删除后的结果");

    System.out.println("输入数字7 万年历,输入任意的年份和月份,控制台显示当前月的日期与星期对照");

 

    System.out

       .println("请选择:");

  }

 

  // 功能1 录入任意多个学生信息、输出学生信息

  public void gongNeng10120() {

    System.out.print("请输入要录入学生信息的个数:");

    int luRuXueShengGeShu = input.nextInt();

    for (int i = 0; i < luRuXueShengGeShu; i++) {

      Student0120 xuesheng = new Student0120();

      System.out.print("请录入第" + (i + 1) + "个学生的学号:");

      xuesheng.setXueHao(input.next());

      System.out.print("请录入第" + (i + 1) + "个学生的姓名:");

      xuesheng.setXingMing(input.next());

      System.out.print("请录入第" + (i + 1) + "个学生的性别:");

      xuesheng.setXingBie(input.next());

      System.out.print("请录入第" + (i + 1) + "个学生的高数成绩:");

      xuesheng.setGaoShuCJ(input.nextDouble());

      System.out.print("请录入第" + (i + 1) + "个学生的英语成绩:");

      xuesheng.setYingYuCJ(input.nextDouble());

      System.out.print("请录入第" + (i + 1) + "个学生的Java成绩:");

      xuesheng.setJavaCJ(input.nextDouble());

      stulist.add(xuesheng);

    }

 

    System.out.println("录入完毕");

 

    for (int i = 0; i < stulist.size(); i++) {

      stulist.get(i).disp0120();

    }

  }

 

  // 功能2 计算每个学生高数 英语 java课程的总成绩和平均成绩并输出、计算各门课程的总成绩和平均成绩并输出

  public void gongNeng20120() {

    if (stulist.size() == 0) {

      System.out.println("集合为空,请先录入学生信息");

    } else {

      // 计算每个学生高数 英语 java课程的总成绩平均成绩

      long startTime = System.currentTimeMillis();

      for (int i = 0; i < stulist.size(); i++) {

       System.out.println("第" + (i + 1) + "个学生"

           \+ stulist.get(i).getXingMing() + "的总成绩是:"

           \+ stulist.get(i).getSum0120() + ",平均成绩是:"

           \+ stulist.get(i).getAve0120());

      }

      // 计算各门课程的总成绩和平均成绩

      System.out.println("计算各门课程的总成绩和平均成绩并输出");

 

      double gaoShuSum = 0;

      double yingYuSum = 0;

      double JavaSum = 0;

 

      for (int i = 0; i < stulist.size(); i++) {

       gaoShuSum += stulist.get(i).getGaoShuCJ();

       yingYuSum += stulist.get(i).getYingYuCJ();

       JavaSum += stulist.get(i).getJavaCJ();

      }

 

      System.out.println("高数课程的总成绩是:" + gaoShuSum + "平均成绩是:" + gaoShuSum

         / stulist.size());

      System.out.println("英语课程的总成绩是:" + yingYuSum + "平均成绩是:" + yingYuSum

         / stulist.size());

      System.out.println("Java课程的总成绩是:" + JavaSum + "平均成绩是:" + JavaSum

         / stulist.size());

      long endTime = System.currentTimeMillis();

      System.out.println("程序运行时间:" + (endTime - startTime) + "ms");

    }

  }

 

  // 功能3 排序,根据学生的总成绩按降序排列,并输出排序后的结果

  public void gongNeng30120() {

    if (stulist.size() == 0) {

      System.out.println("集合为空,请先录入学生信息");

    } else {

      // 根据学生的总成绩按降序排列

      long startTime = System.currentTimeMillis();

      Collections.sort(stulist, new Comparator<Student0120>() {

       @Override

       public int compare(Student0120 o1, Student0120 o2) {

         // 注意升序降序改大于号和小于号

         if (o1.getSum0120() < o2.getSum0120()) {

           return 1;

         }

         // 相等不执行交换

         if (o1.getSum0120() == o2.getSum0120()) {

           return 0;

         }

 

         return -1;

       }

 

      });

      // 输出所有学生信息和总成绩

      System.out.println("输出所有学生姓名和总成绩");

      for (int i = 0; i < stulist.size(); i++) {

       System.out.println("学生姓名:" + stulist.get(i).getXingMing()

           \+ ",总成绩是" + stulist.get(i).getSum0120());

      }

      long endTime = System.currentTimeMillis();

      System.out.println("程序运行时间:" + (endTime - startTime) + "ms");

    }

  }

 

  // 功能4 分别输出高数、英语、Java课程不及格学生的人数、不及格学生的信息

  public void gongNeng40120() {

    if (stulist.size() == 0) {

      System.out.println("集合为空,请先录入学生信息");

    } else {

      // 高数不及格

      int gaoShuBuJiGe = 0;

      int yingYuBuJiGe = 0;

      int JavaBuJiGe = 0;

 

      StringBuffer gaoShuStringBuffer = new StringBuffer("");

      StringBuffer yingYuStringBuffer = new StringBuffer("");

      StringBuffer JavaStringBuffer = new StringBuffer("");

      long startTime = System.currentTimeMillis();

      for (int i = 0; i < stulist.size(); i++) {

       // 判断高数成绩

       if (stulist.get(i).getGaoShuCJ() < 60) {

         gaoShuBuJiGe++;

         gaoShuStringBuffer.append(stulist.get(i).getXingMing()

             \+ ",");

       }

       // 判断英语成绩

       if (stulist.get(i).getYingYuCJ() < 60) {

         yingYuBuJiGe++;

         yingYuStringBuffer.append(stulist.get(i).getXingMing()

             \+ ",");

       }

       // 判断Java成绩

       if (stulist.get(i).getJavaCJ() < 60) {

         JavaBuJiGe++;

         JavaStringBuffer.append(stulist.get(i).getXingMing() + ",");

       }

      }

      if (gaoShuBuJiGe != 0) {

       System.out.println("高数不及格的学生有:" + gaoShuStringBuffer);

       System.out.println("高数不及格的学生共有:" + gaoShuBuJiGe + "个。");

      } else {

       System.out.println("高数没有不及格的学生。");

      }

      if (yingYuBuJiGe != 0) {

       System.out.println("英语不及格的学生有:" + yingYuStringBuffer);

       System.out.println("英语不及格的学生共有:" + yingYuBuJiGe + "个。");

      } else {

       System.out.println("英语没有不及格的学生。");

      }

      if (JavaBuJiGe != 0) {

       System.out.println("Java不及格的学生有:" + JavaStringBuffer);

       System.out.println("java不及格的学生共有:" + JavaBuJiGe + "个。");

      } else {

       System.out.println("Java没有不及格的学生。");

      }

      long endTime = System.currentTimeMillis();

      System.out.println("程序运行时间:" + (endTime - startTime) + "ms");

    }

 

  }

 

  // 功能5 根据给定学生的姓名,查找该学生并输出该学生的信息

  public void gongNeng50120() {

 

    if (stulist.size() == 0) {

      System.out.println("集合为空,请先录入学生信息");

    } else {

      boolean chaXunJG = false;

      System.out.print("请输入要查询的学生姓名:");

      String JxingMing = input.next();

      long startTime = System.currentTimeMillis();

      for (int i = 0; i < stulist.size(); i++) {

       // 注意为了加速循环加了break但是如果重名,则只能查到第一个!

       if (JxingMing.equals(stulist.get(i).getXingMing())) {

         System.out.println("查询到姓名为:" + JxingMing + "的学生");

         chaXunJG = true;

         stulist.get(i).disp0120();

         break;

       }

 

      }

      if (!chaXunJG) {

        System.out.println("查无此人,查询失败!");

      }

      long endTime = System.currentTimeMillis();

      System.out.println("程序运行时间:" + (endTime - startTime) + "ms");

    }

 

  }

 

  // 功能6 删除给定学号学生的信息,并输出删除后的结果

  public void gongNeng60120() {

    System.out.println("删除前");

    for (int i = 0; i < stulist.size(); i++) {

      stulist.get(i).disp0120();

    }

    boolean chaXunJG = false;

    

 

    if (stulist.size() == 0) {

      System.out.println("集合为空,请先录入学生信息");

    } else {

      System.out.print("请输入要删除的学生学号:");

      String JxueHao = input.next();

      long startTime = System.currentTimeMillis();

      for (int i = 0; i < stulist.size(); i++) {

       // 注意为了加速循环加了break但是如果重名,则只能删除第一个!

       if (JxueHao.equals(stulist.get(i).getXueHao())) {

         // 删除操作

         System.out.println("已删除学号为:" + JxueHao + "的学生");

          stulist.remove(i);

         chaXunJG = true;

         break;

       }

      }

      

      

      if (!chaXunJG) {

       System.out.println("查无此人,删除失败!");

      }

      System.out.println("删除后");

      if (stulist.size() == 0) {

       System.out.println("集合为空,无需输出");

      } else {

       for (int i = 0; i < stulist.size(); i++) {

         stulist.get(i).disp0120();

       }

      }

      long endTime = System.currentTimeMillis();

      System.out.println("程序运行时间:" + (endTime - startTime) + "ms");

      

    }

 

    

 

    

  }
  
  // 功能7 万年历,输入任意的年份和月份,控制台显示当前月的日期与星期对照

  public void gongNeng70120() {

 

    int Jyear = 1900; // 年份

    int Jmonth = 1; // 月份

    int Jday = 0; // 1900年至月初的总天数

    int Jmonthday = 0;

    // 年份条件判断

    do {

      System.out.print("请输入要查询的年份");

      Jyear = input.nextInt();

      if (Jyear < 1900) {

       System.out.println("您输入的年份小于1900年,请重新输入");

       continue;

      }

 

    } while (Jyear < 1900);

 

    // 月份条件判断

    do {

      System.out.print("请输入要查询的月份");

      Jmonth = input.nextInt();

      if (Jmonth < 1 || Jmonth > 12) {

       System.out.println("您输入的月有误,请重新输入");

       continue;

      }

    } while (Jmonth < 1 || Jmonth > 12);

 

    long startTime = System.currentTimeMillis();

 

    // 累加年份天数

    for (int a = 1900; a <= Jyear - 1; a++) {

      if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {

       Jday += 366;

      } else {

       Jday += 365;

      }

    }

    // 累加月份天数

    for (int i = 1; i <= Jmonth - 1; i++) {

      if (i == 2) {

       if (Jyear % 4 == 0 && Jyear % 100 != 0 || Jyear % 400 == 0) {

         Jday = Jday + 29;

       } else {

         Jday = Jday + 28;

       }

      } else {

       if (i == 4 || i == 6 || i == 9 || i == 11) {

          Jday = Jday + 30;

       } else {

         Jday = Jday + 31;

       }

      }

    }

    // 加1%7计算1号是周几

    Jday += 1;

    int wekday = Jday % 7;

    // 计算该月有几天

    if (Jmonth == 2) {

      if (Jyear % 4 == 0 && Jyear % 100 != 0 || Jyear % 400 == 0) {

       Jmonthday = 29;

      } else {

       Jmonthday = 28;

      }

    } else if (Jmonth == 4 || Jmonth == 6 || Jmonth == 9 || Jmonth == 11) {

      Jmonthday = 30;

    } else {

      Jmonthday = 31;

    }

    // 按格式输出

    System.out.println("日\t一\t二\t三\t四\t五\t六");

    for (int j = 1; j <= wekday; j++) {

      // 不换行输出空格

      System.out.print("\t");

    }

    for (int i = 1; i <= Jmonthday; i++) {

      if (Jday % 7 == 6) {

       // 输出周六并换行

       System.out.print(i + "\n");

      } else {

       System.out.print(i + "\t");

      }

      Jday++;

    }

    System.out.println("");

    long endTime = System.currentTimeMillis();

    System.out.println("程序运行时间:" + (endTime - startTime) + "ms");

 

  }

 

}

运行类:ChangMaZhou0120

import java.util.Scanner;

 

public class ChangMaZhou0120 {

  static {

    System.out.println("欢迎使用学生成绩管理系统");

  }

 

  public static void main(String[] args) {

    Scanner input = new Scanner(System.in\);

    GongNeng0120 gongNeng = new GongNeng0120();

 

    String yn = "";

    // 程序开始

    do {

      gongNeng.caiDan0120();

      int xuan = input.nextInt();

 

      switch (xuan) {

      case 0:

       yn = "n";

       break;

      case 1:

       gongNeng.gongNeng10120();

       break;

      case 2:

       gongNeng.gongNeng20120();

       break;

      case 3:

       gongNeng.gongNeng30120();

       break;

      case 4:

       gongNeng.gongNeng40120();

       break;

      case 5:

       gongNeng.gongNeng50120();

       break;

      case 6:

       gongNeng.gongNeng60120();

       break;

      case 7:

       gongNeng.gongNeng70120();

       break;

      default:

       System.out.println("输入错误请重新输入");

       continue;

      }

      if (yn.equals("n")) {

       break;

      } else {

       System.out.println("是否继续使用系统?(y/n)");

       yn = input.next();

      }

    } while (!yn.equals("n"));

    // 程序结束

    System.out.println("退出系统,感谢使用!");

    input.close();

 

  }

 

}

 

你可能感兴趣的:(java,eclipse)