Java是面向过程的(这也是我喜欢Java的一个原因),相对于Python,Java显得十分繁琐,且很多地方明明可以简化,确搞得特别复杂,但从另一个角度来说Java显得更加严谨。

在管理系统的领域中,我觉得Java在个体单页时会显得特别的臃肿繁琐,许许多多很难解决的地方,不像Python,Python在数据量大时个体单页才显得无力,所以Java中的管理系统要是搭配上数据库,那工作量与各大小问题会少很多。

话不多说开始我们今天的学生管理系统:

思维模式:这里用到的是面向对象,首先先写出每个方法,再进行逐个排版实例化,去实现我们需要一个系统(我很喜欢Java的这个写法)

首先输入咱需要用到的模块:

package kaohe;
import java.util.Scanner;

我们的数据存放与初始数据类:

class students{String yiz = "懿子";String guiz = "贵子";String YIZI = "yizi" ;String xingbie = "男" ;String xingbien = "女" ;int yizsheng = 190;int yizti = 130;int guizsheng = 130;int guizti = 190;int YIZIsheng = 190;int YIZIti = 191;
}
class studentc{String yuwen = "语文";String shux = "数学";String yingyu = "英语";int yizyw,yizsx,yizyyi;int guizyw,guizsx,guizyyi;int YIZIyw,YIZIsx,YIZIyyi;int yy = 99;int ys = 98;int yyi = 97;int gy = 96;int gs = 95;int gyi = 94;int YY = 93;int YS = 94;int YYI = 93;
}

我们的导语类,因为里面用到了数据类students 的数据,所以我们的导语类是需要继承students:

class daoyu extends students{public void kaishi(){System.out.println("欢迎进入学生管理系统");}public void ssheng(){System.out.println("在校学生有"+yiz+guiz+YIZI);}public void zsheng(){System.out.println("请输入您需要的操作1.查询学生身体状况 2.学生成绩");}public void dqcj(){System.out.println("当前学生的成绩为:");}public void esheng(){System.out.println("成绩修改输入继续修改 退出系统输入ESC");}public void xsheng(){System.out.println("1.插入成绩 2.查询成绩");}public void tx(){System.out.println("请输入需要插入同学名字:");}public void km(){System.out.println("请输入需要插入的科目");}public void cr(){System.out.println("请输入需要插入的分数");}
}

写一个学生身体状况的类,因为它需要用到students里的数据,所以要继承它:

class studentst extends students{public void yizz(){int yizz = yizsheng / yizti ;System.out.println(yiz+"同学 性别:"+xingbien+"身高:"+yizsheng+"体重:"+yizti+"健康状况:"+yizz);}public void guizz(){int guizz = guizsheng / guizti ;System.out.println(guiz+"同学 性别:"+xingbie+"身高:"+guizsheng+"体重:"+guizti+"健康状况:"+guizz);}public void YIZIz(){int YIZIz = YIZIsheng / YIZIti ;System.out.println(YIZI+"同学 性别:"+xingbien+"身高:"+YIZIsheng+"体重:"+YIZIti+"健康状况:"+YIZIz);}
}

实现其中一个同学的方法:

class yizc extends studentc{public void yw(){Scanner in = new Scanner(System.in);int yw = in.nextInt();yizyw = yy - yy + yw;this.yy = yizyw;System.out.println("插入了懿子的语文成绩:"+yizyw+"分");}public void sx(){Scanner in = new Scanner(System.in);int yw = in.nextInt();yizsx = ys - ys + yw;System.out.println("插入了懿子的数学成绩:"+yizsx+"分");this.ys = yizsx;}public void yyi(){Scanner in = new Scanner(System.in);int yw = in.nextInt();yizyyi = yyi - yyi + yw;System.out.println("插入了懿子的英语成绩:"+yizyyi+"分");this.yyi = yizyyi;}public void ycj(){System.out.println("懿子的成绩为 语文:"+this.yy+"数学:"+this.ys+"英语:"+this.yyi);}
}

有了这条基础,可以试试实现另外两个

1

2

3

4

5

另外两个:

class guizf extends yizc{public void yw(){Scanner in = new Scanner(System.in);int yw = in.nextInt();guizyw = gy - gy + yw;System.out.println("插入了贵子的语文成绩:"+guizyw+"分");this.gy = guizyw;}public void sx(){Scanner in = new Scanner(System.in);int yw = in.nextInt();guizsx = gs - gs + yw;System.out.println("插入了贵子的数学成绩:"+guizsx+"分");this.gs = guizsx;}public void yyi(){Scanner in = new Scanner(System.in);int yw = in.nextInt();guizyyi = gyi - gyi + yw;System.out.println("插入了贵子的英语成绩:"+guizyyi+"分");this.gyi = guizyyi;}public void gcj(){System.out.println("贵子的成绩为 语文:"+this.gy+"数学:"+this.gs+"英语:"+this.gyi);}
}
class YIZIZ extends guizf{public void yw(){Scanner in = new Scanner(System.in);int yw = in.nextInt();YIZIyw = YY - YY + yw;System.out.println("插入了yizi的语文成绩:"+YIZIyw+"分");this.YY = YIZIyw;}public void sx(){Scanner in = new Scanner(System.in);int yw = in.nextInt();YIZIsx = YS - YS + yw;System.out.println("插入了yizi的数学成绩:"+YIZIsx+"分");this.YS = YIZIsx;}public void yyi(){Scanner in = new Scanner(System.in);int yw = in.nextInt();YIZIyyi = YYI - YYI + yw;System.out.println("插入了yizi的英语成绩:"+YIZIyyi+"分");this.YYI = YIZIyyi;}public void Ycj(){System.out.println("YIZI的成绩为 语文:"+this.YY+"数学:"+this.YS+"英语:"+this.YYI);}
}

这里有个问题,为什么guizf是继承yizc,而YIZIZ是继承guizf呢?

哪个类的方法是最多的呢?  答案是YIZIZ

要知道我们在Java中继承是什么关系,继承就像继承家产,父类将他所有的东西给了子类,子类就拥有父类有的方法,但父类不拥有子类有的方法。

所以以此类推 YIZIZ拥有前面所有类的方法,这也是解决Java中不能继承多个父类的一个好方法。

初始成绩类:

class dcj extends studentc{public void dycj(){System.out.println("懿子的成绩为 语文:"+yy+"数学:"+ys+"英语:"+yyi);}public void dgcj(){System.out.println("贵子的成绩为 语文:"+gy+"数学:"+gs+"英语:"+gyi);}public void dYcj(){System.out.println("yizi的成绩为 语文:"+YY+"数学:"+YS+"英语:"+YYI);}
}

每个需要用到的方法我们已经实现了,现在我们要将它们实例化,展现给别人看。

在面向对象中实例化中才能看出一个写码的逻辑思维

按照这个思维,我们逐个实例化各个方法:

    public static void main(String[] ARGE){String i;daoyu dy = new daoyu();studentst st = new studentst();yizc yc = new yizc();guizf gf = new guizf();YIZIZ yz = new YIZIZ();dcj dj = new dcj();dy.kaishi();dy.ssheng();dy.zsheng();Scanner in = new Scanner(System.in);String shur = in.next();switch (shur){case "查询学生身体状况":st.yizz();st.guizz();st.YIZIz();break;case "学生成绩":dy.dqcj();dj.dycj();dj.dgcj();dj.dYcj();while (true){dy.esheng();Scanner sc = new Scanner(System.in);i = sc.nextLine();if(i.equals("ESC")){System.out.println("退出系统");break;}else {dy.xsheng();String P = in.next();switch (P){case "插入成绩":dy.tx();String e = in.next();switch (e){case "懿子":dy.km();String w = in.next();switch (w){case "语文":dy.cr();yc.yw();break;case "数学":dy.cr();yc.sx();break;case "英语":dy.cr();yc.yyi();break;}break;case "贵子":dy.km();String r = in.next();switch (r){case "语文":dy.cr();gf.yw();break;case "数学":dy.cr();gf.sx();break;case "英语":dy.cr();gf.yyi();break;}break;case "yizi":dy.km();String a = in.next();switch (a){case "语文":dy.cr();yz.yw();break;case "数学":dy.cr();yz.sx();break;case "英语":dy.cr();yz.yyi();break;}}break;case "查询成绩":yc.ycj();gf.gcj();yz.Ycj();break;}}}}}

这里我们用到的是switch方法,将它们逐个实现

好啦,Java学生管理系统就大功告成了,这个有很多不完善的地方,需要用到数据库来弥补缺陷,所以后续会更新。

Java中学生管理系统(对分数健康查询与修改)相关推荐

  1. 【附源码】计算机毕业设计java医疗健康查询系统设计与实现

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  2. (附源码)SSM医疗健康查询系统JAVA计算机毕业设计项目

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  3. 基于java(ssm)个人健康管理系统

    基于java(ssm)个人健康管理系统 健康管理系统是基于java编程语言,mysql数据库,ssm框架,idea开发工具进行开发,本设计主要分为用户,医师,管理员三个角色,其中用户的主要功能是注册, ...

  4. Java+spring 基于ssm的健康体检管理系统#毕业设计

    *文末获取源码 开发环境 项目编号:Java+spring ssm410健康体检管理系统#毕业设计 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tom ...

  5. [附源码]Java计算机毕业设计SSM大学生健康管理系统的设计与实现

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. java计算机毕业设计Web好好吃查询系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计Web好好吃查询系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计Web好好吃查询系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目 ...

  7. JAVA电费管理系统计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA电费管理系统计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA电费管理系统计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  8. 计算机毕业设计JAVA汽配管理系统mybatis+源码+调试部署+系统+数据库+lw

    计算机毕业设计JAVA汽配管理系统mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA汽配管理系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B ...

  9. java计算机毕业设计非处方药物的查询与推荐系统源码+数据库+系统+lw文档+部署

    java计算机毕业设计非处方药物的查询与推荐系统源码+数据库+系统+lw文档+部署 java计算机毕业设计非处方药物的查询与推荐系统源码+数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...

  10. 计算机毕业设计Java物流信息管理系统录像演示(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java物流信息管理系统录像演示(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java物流信息管理系统录像演示(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目 ...

最新文章

  1. 10个有趣的javascript和css库(2019年5月最新)
  2. python字典排序取最值总结
  3. mysql 对插入超过表字段限制时的处理
  4. 谷歌又放大招:视觉效果完胜其他SOTA的风格迁移网络,手机端可达实时4K
  5. 并查集 - 由斜杠划分区域
  6. ANSYS——常见梁的后处理方法(弯曲应力、弯矩、轴力等的显示)
  7. 【期望】守卫挑战(金牌导航 期望-9)
  8. 凭什么老程序员被裁,应届生却能月薪 1.3 万?
  9. A+B in Hogwarts (20)
  10. python编程从入门到实践第八章_Python编程从入门到实践的第三天
  11. db_mysql.so_MySQL登陆时提示找不到到libmysqlclient.so.15
  12. HtmlCleaner CleanerProperties 参数配置(转自macken博客,链接:http://macken.iteye.com/blog/1579809)...
  13. redis 主从不同步连接不上
  14. linux mysql端口被占用解决方法_3306端口被占用导致MySQL无法启动
  15. html表格怎么设置间距,HTML表格间距怎么设置
  16. np.minimum()与tf.minimum()的用法
  17. 以图搜图源码html,以图搜图功能实现 (源码+解析)
  18. Linux中的子shell是什么,怎么理解?
  19. linux环境下如何安装DHCP服务器及示例
  20. LA 3708 - Graveyard 墓地雕塑

热门文章

  1. java/php/net/python题库管理系统设计
  2. webservice调用常见错误原因
  3. macos sierra_如何在macOS Sierra中恢复“剩余电池时间”
  4. preparedStatement介绍
  5. 电脑版微信打开内置浏览器
  6. matlab陷波带阻滤波器,matlab陷波滤波器 陷波滤波器器应放在系统的闭环吗
  7. 20200427 FTL 模板语言参考 梳理 (常用)
  8. CamTwist 3.4.3最新版(macOS 虚拟摄像头)
  9. 连续函数零点定理 介值定理
  10. 2022年 iOS面试题总结