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 ...
随机推荐
- Sql 执行查询顺序
- [shell]流程控制----case语句
Shell case语句为多选择语句.可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: case 值 in 模式1) command1 command2 ...
- Win10《芒果TV》内测版现已支持在国行版 Xbox One 下载体验
Win10<芒果TV>内测版现已支持在国行版 Xbox One 下载体验 关于国行为什么无法从商店下载安装芒果TV内测版(来自微软) 1.截至到目前<芒果TV - Preview&g ...
- javascript学习路线图
史上最全的javascript学习路线图 JavaSctipt学习路线 完成整个课程大纲需要花上6~8周的时间,将学会完整的JavaScript语言(包括jQuery和一些HTML5).如果你没有时间 ...
- 验证码生成器(在TImage.Canvas上写字,很好看)
生成验证码的方式有很多种,如下则是比较简单的实现,且运用了正余弦曲线来扭曲验证码字符. unit AuthenticodeGenerate; interface uses SysUtils, Wind ...
- jquery事件和动画操作集锦
一,事件 1,加载事件 1 2 3 4 5 6 $(document).ready(function(){ //todo }); //dom准备就绪后执行ready里面的函数,此时dom对应的相关 ...
- VM中linux和windows主机进行串口通信
最近在做关于AIS的内容.为了对AIS电文进行解码,串口收发. 数据有PC机模拟发送,为了调试方便,不用次次将程序放到开发板上运行,所以利用pc主机和虚拟机进行串口通信模拟该过程. 首先需要用到一个软 ...
- Using VNC on a debian/Ubuntu server with a OS X Mac
I got a brand new MacBook Pro 13" 2016. I used to work on GNU/Linux for decades. I don't want t ...
- Python连载13-shutile模块(续)和zipfile模块
一.shutil模块(续) 1.函数:upack_archive() (1)用法:解包操作 (2)格式:shutil.unpack_archive("归档文件地址“,”解包之后的地址“) ( ...
- QSqlRelationalTableModel的Select语句会改变列的名字
不解释QSqlRelationalTableModel是什么东西.看以下代码: //3.1 创建model model = new QSqlRelationalTableModel(); model- ...