Java项目实例之---学生选课(面向对象复习)
学生选课(面向对象复习)
设计一个学生选课的程序,分别有学生类(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项目实例之---学生选课(面向对象复习)的更多相关文章
- java web知识点复习,重新编写学生选课系统的先关操作。
		为了复习之前学习的相关的html,javaweb等知识.自己有重新编写了一遍学生选课系统. 下面主要展示登录界面的代码,以及各个大的主页面的相关jsp. <%@ page language=&q ... 
- JAVA | 学生选课系统
		这里使用JAVA语言编写的简易的学生选课系统,展现的都是这个系统核心代码. 其中有不足欢迎批评和指正! 链接数据库的代码 package connection;//连接数据库student impor ... 
- Java项目案例之---计算公司员工的工资(面向对象复习)
		计算公司员工的工资(面向对象复习) 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份.方法:double getSalary(int month) ... 
- 学生选课系统(Java语言期末前测试)
		测试具体要求: 2.系统要求与功能设计 2.1 页面要求 (1)能够在Tomcat服务器中正确部署,并通过浏览器查看: (2)网站页面整体风格统一: (3)首页(登录页)要求实现不同用户登录后,进 ... 
- python实现学生选课系统  面向对象的应用:
		一.要求: 选课系统 管理员: 创建老师:姓名.性别.年龄.资产 创建课程:课程名称.上课时间.课时费.关联老师 使用pickle保存在文件 学生: 学生:用户名.密码.性别.年龄.选课列表[].上课 ... 
- Java项目案例之---开灯(面向对象复习)
		开灯(面向对象复习) 设计一个台灯类(Lamp)其中台灯有灯泡类(Buble)这个属性,还有开灯(on)这个方法 设计一个灯泡类(Buble),灯泡类有发亮的方法 其中有红灯泡类(RedBuble)和 ... 
- python基础-10 程序目录结构 学生选课系统面向对象练习
		一 程序目录结构 1 bin文件夹 二进制文件.代码程序 2 conf 配置文件 3 帮助文档 4 头文件库文件等 二 学生选课系统部分代码 未完待续 1 包内的__init__.py文件 在包 ... 
- 吴裕雄--天生自然HADOOP操作实验学习笔记:hbase学生选课案例
		实验目的 复习hbase的shell操作和javaAPI操作 了解javaWeb项目的MVC设计 学会dao(数据库访问对象)和service层的代码编写规范 学会设计hbase表格 实验原理 前面我 ... 
- SQL Server 【附】创建"商品管理数据库"、"学生选课数据库"的SQL语句
		附:(创建“商品管理数据库”的SQL语句) --建立"商品管理数据库"数据库-- create database 商品管理数据库 on(name='商品管理数据库_m', file ... 
随机推荐
- WPF的点击穿透
			1.background 为{x:null} 或 鼠标点击会穿透,如果不想让一个透明的border点击穿透,设置透明色Transparent时就可以点到这个看起来透明的border 2.当依赖属性I ... 
- HTML5离线缓存攻击测试
			本实验采用局域网模拟,通过修改本地HOSTS文件来模拟域名以及DNS欺骗.合法网站使用Linux CentOS7的apache服务器搭建,IP为192.168.1.113,HOSTS文件中加入192. ... 
- 微信小程序把玩(三)tabBar底部导航
			原文:微信小程序把玩(三)tabBar底部导航 tabBar相对而言用的还是比较多的,但是用起来并没有难,在app.json中配置下tabBar即可,注意tabBar至少需要两个最多五个Item选项 ... 
- 零元学Expression Blend 4 – Chapter 20 以实作案例学习Childwindow
			原文:零元学Expression Blend 4 – Chapter 20 以实作案例学习Childwindow 本章将教大家如何运用Blend 4内建的假视窗原件-「ChildWindow」 Chi ... 
- ThreadPoolExecutor的一点理解  专题
			corePoolSize(maxActiveThreadSize):线程池大小,决定着新提交的任务是新开线程云执行还是放到任务队列中,也是线程池的最最核心的参数.一般线程池开始时是没有线程的,只有当任 ... 
- visual studio 2017 添加MSDN
			原文:visual studio 2017 添加MSDN 1.启动VS2017的安装软件,点击更改,进行MSDN帮助组件添加安装. 2.在单个组件中找到"Help Viewer", ... 
- Creating a Linux Daemon (service) in Delphi
			With the introduction of the Linux target for Delphi, a wide range of possibilities are opened up to ... 
- HTTPS上线过程说明(阿里云提供免费证书)
			一.上马HTTPS的原因: ①.苹果App Store强制其平台上的app均要使用HTTPS ②.网站经常被劫持,用户和领导希望使用HTTPS ③.跟随HTTPS的大趋势 二.应用上马HTTPS之部门 ... 
- Qt for android触摸手势事件QGestureEvent
			在触摸设备上可以使用Qt的手势事件 要激活手势事件,需要执行以下操作: 第一步,为QWidget控件注册手势事件 QList<Qt::GestureType> gestures; gest ... 
- 转一个git的命令
			Git远程操作详解 Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作. git clone git rem ... 
