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

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

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

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

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

//课程类
public class Course {
private String cname[]={"Java","PHP","JQuery","HTML","CSS","C++","MySQL","Oracle"};//课程名称 public String[] getCname() {
return cname;
} public void setCname(String[] cname) {
this.cname = cname;
}
}
//学生类

public class Student {

    private String sno;//学号

    private String name;//姓名

    private String sex;//性别

    private String course[]=new String[3];//选课

    public Student(String sno,String name,String sex){

        this.setSno(sno);

        this.setName(name);

        this.setSex(sex);

    }
public String getSno() { return sno; }
public void setSno(String sno) { this.sno = sno; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String[] getCourse() { return course; } public void setCourse(String[] c) { course = c; } }
import java.util.Scanner;

public class StudentTest {

    public static void main(String[] args){

        int i=1;

        String[] st=new String[3];

        Course a=new Course();

        Student stu=new Student("123","lili","女");

        /**

         *  判断是否选择课程,如果是,则输入课程名称,如果否,则随机产生三门课程

         */

        System.out.println("************是否选择课程***********");

        Scanner sc=new Scanner(System.in);

        String s=sc.next();

        switch(s) {

            case "是":

                System.out.println("************请输入所选课程名称:***********");

                for (int n = 0; n < 3; n++) {

                    //生成随机数,工具类

                    Scanner sa = new Scanner(System.in);

                    String one = sa.next();

                    st[n] = one;

                }

                stu.setCourse(st);

                break;

            case "否":

                System.out.println("************随机选择课程:***********");

                for (int n = 0; n < 3; n++) {

                    int j = (int) (Math.random() * 7)+1;

                    String[] c=a.getCname();

                    //System.out.println(c[j]);

                    st[n]=c[j];

                }

                stu.setCourse(st);

                break;

        }

        /**

         * 输出学生信息

         */

        System.out.println("**************学生信息**************");

        System.out.println("学号:"+stu.getSno());

        System.out.println("姓名:"+stu.getName());

        System.out.println("性别:"+stu.getSex());

        String[] cou=stu.getCourse();

        System.out.print("所选课程:");

        for(int y=0;y<3;y++){

            System.out.print(cou[y]+"  ");

        }

    }

}

运行结果:

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

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

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. PHP提取字符串中的图片地址

    PHP提取字符串中的图片地址 $str='<p><img border="0" src="upfiles/2009/07/1246430143_1.jp ...

  2. Linux下基于Bluez

    硬件:Moto H670 蓝牙耳机 (CSR chip)/ Broadcom v2.0 adapter软件:bluez-4.26 / bluez-gnome-1.8 / linux kernel 2. ...

  3. miniui autocomplete支持放大镜按钮(data-grid)

    <style type="text/css"> html body .searchbox .mini-buttonedit-close { background:url ...

  4. Win8 Metro(C#)数字图像处理--2.69中点滤波器

    原文:Win8 Metro(C#)数字图像处理--2.69中点滤波器 [函数代码] <strong> /// <summary> /// Mid-point filter. / ...

  5. Windows Azure之Mobile Service

    我建个android app和Windows Azure的Mobile Service配合,以实现会员注册的功能,实际十分简单,微软家的东西真心好用 首先新建个Mobile Service New-& ...

  6. Ruby已经慢慢走向衰退了,那些年代久远而且小众的语言没有翻身的可能性

    Ruby已经慢慢走向衰退了,现在WEB开发里,NODE.JS+前端各种框架是主流,PHP.ruby.Asp.net.python等语言在网站编程方面只会越来越少.数据领域方面,机器学习和人工智能中,p ...

  7. file.delete()与file.deleteOnExit(); 的区别

    file.delete()   //删除文件,删除的是创建File对象时指定与之关联创建的那个文件.这是一个立刻执行的操作 file.deleteOnExit();   //在JVM进程退出的时候删除 ...

  8. jquery选择器集锦

    一,基本选择器: 1 2 3 4 $("#txtName");   $("#txt\\#b");//获取id为 txt#b的元素,\\为转义符 $(" ...

  9. python-监控服务

    最近写了一个web测试程序,因为部署在其他地方,所以想弄个监控的进程去看服务是不是还在,要是不在好发邮件,就用python简单的写了一个. 想法是这样的,单独运行一个monitor的脚本,每隔一段时间 ...

  10. 怎么看待php 面向对象思想

    面向对象的程序设计思路是现代程序设计由面向过程演变面向对象的必然趋势,所以面向对象的而设计思路必然有它不同的时代意义,必然有着不同面向过程的不同历史使命,而php 5以后成功添加面向对象的设计思路其实 ...