学生选课(面向对象复习)
设计一个学生选课的程序,分别有学生类(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