学生选课(面向对象复习)

设计一个学生选课的程序,分别有学生类(Student)和课程类(Course)

学生类的属性有:学号(String),姓名(String),性别(char),所选科目(Course[])

课程有:Java、PHP、JQuery、HTML、CSS、C++、MySQL、Oracle

每个学生必须要选3门课程,可以指定选择哪3门,也可以让系统随机选择,请使用面向对象的封装特性实现在控制台中选课。

  1. //课程类
  2. public class Course {
  3. private String cname[]={"Java","PHP","JQuery","HTML","CSS","C++","MySQL","Oracle"};//课程名称
  4.  
  5. public String[] getCname() {
  6. return cname;
  7. }
  8.  
  9. public void setCname(String[] cname) {
  10. this.cname = cname;
  11. }
  12. }
  1. //学生类
  2.  
  3. public class Student {
  4.  
  5. private String sno;//学号
  6.  
  7. private String name;//姓名
  8.  
  9. private String sex;//性别
  10.  
  11. private String course[]=new String[3];//选课
  12.  
  13. public Student(String sno,String name,String sex){
  14.  
  15. this.setSno(sno);
  16.  
  17. this.setName(name);
  18.  
  19. this.setSex(sex);
  20.  
  21. }
  22. public String getSno() {
  23.  
  24. return sno;
  25.  
  26. }
  27. public void setSno(String sno) {
  28.  
  29. this.sno = sno;
  30.  
  31. }
  32. public String getName() {
  33.  
  34. return name;
  35.  
  36. }
  37. public void setName(String name) {
  38.  
  39. this.name = name;
  40.  
  41. }
  42. public String getSex() {
  43.  
  44. return sex;
  45.  
  46. }
  47.  
  48. public void setSex(String sex) {
  49.  
  50. this.sex = sex;
  51.  
  52. }
  53.  
  54. public String[] getCourse() {
  55.  
  56. return course;
  57.  
  58. }
  59.  
  60. public void setCourse(String[] c) {
  61.  
  62. course = c;
  63.  
  64. }
  65.  
  66. }
  1. import java.util.Scanner;
  2.  
  3. public class StudentTest {
  4.  
  5. public static void main(String[] args){
  6.  
  7. int i=1;
  8.  
  9. String[] st=new String[3];
  10.  
  11. Course a=new Course();
  12.  
  13. Student stu=new Student("123","lili","女");
  14.  
  15. /**
  16.  
  17. * 判断是否选择课程,如果是,则输入课程名称,如果否,则随机产生三门课程
  18.  
  19. */
  20.  
  21. System.out.println("************是否选择课程***********");
  22.  
  23. Scanner sc=new Scanner(System.in);
  24.  
  25. String s=sc.next();
  26.  
  27. switch(s) {
  28.  
  29. case "是":
  30.  
  31. System.out.println("************请输入所选课程名称:***********");
  32.  
  33. for (int n = 0; n < 3; n++) {
  34.  
  35. //生成随机数,工具类
  36.  
  37. Scanner sa = new Scanner(System.in);
  38.  
  39. String one = sa.next();
  40.  
  41. st[n] = one;
  42.  
  43. }
  44.  
  45. stu.setCourse(st);
  46.  
  47. break;
  48.  
  49. case "否":
  50.  
  51. System.out.println("************随机选择课程:***********");
  52.  
  53. for (int n = 0; n < 3; n++) {
  54.  
  55. int j = (int) (Math.random() * 7)+1;
  56.  
  57. String[] c=a.getCname();
  58.  
  59. //System.out.println(c[j]);
  60.  
  61. st[n]=c[j];
  62.  
  63. }
  64.  
  65. stu.setCourse(st);
  66.  
  67. break;
  68.  
  69. }
  70.  
  71. /**
  72.  
  73. * 输出学生信息
  74.  
  75. */
  76.  
  77. System.out.println("**************学生信息**************");
  78.  
  79. System.out.println("学号:"+stu.getSno());
  80.  
  81. System.out.println("姓名:"+stu.getName());
  82.  
  83. System.out.println("性别:"+stu.getSex());
  84.  
  85. String[] cou=stu.getCourse();
  86.  
  87. System.out.print("所选课程:");
  88.  
  89. for(int y=0;y<3;y++){
  90.  
  91. System.out.print(cou[y]+" ");
  92.  
  93. }
  94.  
  95. }
  96.  
  97. }

运行结果:

************是否选择课程***********

************请输入所选课程名称:***********

PHP

CSS

C++

**************学生信息**************

学号:123

姓名:lili

性别:女

所选课程:PHP  CSS  C++

************是否选择课程***********

************随机选择课程:***********

**************学生信息**************

学号:123

姓名:lili

性别:女

所选课程:PHP  JQuery  MySQL

Java项目实例之---学生选课(面向对象复习)的更多相关文章

  1. java web知识点复习,重新编写学生选课系统的先关操作。

    为了复习之前学习的相关的html,javaweb等知识.自己有重新编写了一遍学生选课系统. 下面主要展示登录界面的代码,以及各个大的主页面的相关jsp. <%@ page language=&q ...

  2. JAVA | 学生选课系统

    这里使用JAVA语言编写的简易的学生选课系统,展现的都是这个系统核心代码. 其中有不足欢迎批评和指正! 链接数据库的代码 package connection;//连接数据库student impor ...

  3. Java项目案例之---计算公司员工的工资(面向对象复习)

    计算公司员工的工资(面向对象复习) 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份.方法:double getSalary(int month) ...

  4. 学生选课系统(Java语言期末前测试)

      测试具体要求: 2.系统要求与功能设计 2.1 页面要求 (1)能够在Tomcat服务器中正确部署,并通过浏览器查看: (2)网站页面整体风格统一: (3)首页(登录页)要求实现不同用户登录后,进 ...

  5. python实现学生选课系统 面向对象的应用:

    一.要求: 选课系统 管理员: 创建老师:姓名.性别.年龄.资产 创建课程:课程名称.上课时间.课时费.关联老师 使用pickle保存在文件 学生: 学生:用户名.密码.性别.年龄.选课列表[].上课 ...

  6. Java项目案例之---开灯(面向对象复习)

    开灯(面向对象复习) 设计一个台灯类(Lamp)其中台灯有灯泡类(Buble)这个属性,还有开灯(on)这个方法 设计一个灯泡类(Buble),灯泡类有发亮的方法 其中有红灯泡类(RedBuble)和 ...

  7. python基础-10 程序目录结构 学生选课系统面向对象练习

    一 程序目录结构 1 bin文件夹 二进制文件.代码程序  2 conf 配置文件  3 帮助文档  4 头文件库文件等 二 学生选课系统部分代码 未完待续 1 包内的__init__.py文件 在包 ...

  8. 吴裕雄--天生自然HADOOP操作实验学习笔记:hbase学生选课案例

    实验目的 复习hbase的shell操作和javaAPI操作 了解javaWeb项目的MVC设计 学会dao(数据库访问对象)和service层的代码编写规范 学会设计hbase表格 实验原理 前面我 ...

  9. SQL Server 【附】创建"商品管理数据库"、"学生选课数据库"的SQL语句

    附:(创建“商品管理数据库”的SQL语句) --建立"商品管理数据库"数据库-- create database 商品管理数据库 on(name='商品管理数据库_m', file ...

随机推荐

  1. Win8 Metro(C#)数字图像处理--4图像颜色空间描述

    原文:Win8 Metro(C#)数字图像处理--4图像颜色空间描述  图像颜色空间是图像颜色集合的数学表示,本小节将针对几种常见颜色空间做个简单介绍. /// <summary> / ...

  2. Python在windows下的服务程序

    Python程序作为Windows服务启动,需要安装pywin32包.下载路径: 我是下载路径 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 ...

  3. Win10《芒果TV》跨年邀你嗨唱,同步直播《湖南卫视2017-2018跨年演唱会》

    由天天兄弟.快本家族联袂主持,不容错过的年度盛典<湖南卫视2017-2018跨年演唱会>将于2017年12月31日19:30起由芒果TV同步直播,果妈备上礼物邀您一起跨年嗨唱. 跨年邀你嗨 ...

  4. js通过沿着作用域链还是原型链查找变量

    这是一道非常典型的JS闭包问题,结果和具体的解析请看这里. 对于其中的`函数作用域链的问题`博主似乎没有解释清楚,有一些疑问:js中的变量到底是沿着作用域链还是原型链查找呢? 首先,要分清作用域链与原 ...

  5. CSS计数器:counter

    最近的需求,明星字体销售排行榜中,需要对字体的销售情况进行排序. 在早期,只有ol和ul可以对子元素li进行排序:如果不使用这两个标签,就由前台开发去手动填写序号. 当然,在这个需求中,数据不是实时更 ...

  6. 创建dll动态链接库,并使用java调用

    参考文章:http://www.cnblogs.com/matthew-2013/p/3480296.html http://blog.csdn.net/g710710/article/details ...

  7. SQL Server上唯一的数据库集群:负载均衡、读写分离、容灾(数据零丢失、服务高可用)

    SQL Server上唯一的数据库集群:负载均衡.读写分离.容灾(数据零丢失.服务高可用).审计.优化,全面解决数据库用户问题.一键安装,易用稳定,性价比高,下载链接:http://www.zheti ...

  8. PyCharm安装MicroPython插件

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 前言 PyCharm可以说是当今最流行的一款Pyth ...

  9. Qt中实现单例模式(SingleTon),大约有3种办法

    Qt中实现单例模式(SingleTon) 单例模式分为“饥汉”和“饿汉”两种版本,也正是线程安全问题使得原本简单的单例模式变得复杂.由于单例模式很常用,Boost库中有强大的泛型单例实现,我也利用Qt ...

  10. asp.net mvc中使用jquery H5省市县三级地区选择控件

    地区选择是项目开发中常用的操作,本文讲的控件是在手机端使用的选择控件,不仅可以用于实现地区选择,只要是3个级别的选择都可以实现,比如专业选择.行业选择.职位选择等.效果如下图所示: 附:本实例asp. ...