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 ...