Description
修改题目125(学生类-本科生类-研究生类) 为学生类添加属性成绩,添加相应的get和set函数,添加函数getGrade()表示获得等级,该函数应当为抽象函数。 本科生和研究生的等级计算方式不同,如下所示 本科生标准 研究生标准 [80--100) A [90--100) A [70--80) B [80--90) B [60--70) C [70--80) C [50--60) D [60--70) D 50 以下 E 60 以下 E main函数中构造两个学生Student变量,分别指向本科生和研究生对象,调用getGrade()方法输出等级
import java.util.Scanner;
public class Main {
public static void main(String [] args) {
Scanner scan = new Scanner(System.in);
int no = scan.nextInt();
String name = scan.next();
String sex = scan.next();
String major = scan.next();
int grade = scan.nextInt();
CollegeStudent c = new CollegeStudent(no, name, sex, major);
c.getGrade(grade);
no = scan.nextInt();
name = scan.next();
sex = scan.next();
major = scan.next();
String supervisor = scan.next();
grade = scan.nextInt();
GraduateStudent g = new GraduateStudent(no, name, sex, major, supervisor );
g.getGrade(grade);
scan.close();
}
}
abstract class Student{
int no;
String name;
public Student(int no, String name, String sex, int grade, char level) {
super();
this.no = no;
this.name = name;
this.sex = sex;
this.grade = grade;
this.level = level;
}
String sex;
int grade;
char level;
public abstract void getGrade(int grade) ;
public void setGrade(int grade) {
this.grade = grade;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
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 Student(int no, String name, String sex) {
super();
this.no = no;
this.name = name;
this.sex = sex;
}
public void attendClass(String className) {}
public void print() {
System.out.println("no: " + this.no);
System.out.println("name: " + this.name);
System.out.println("sex: " + this.sex);
}
}
class CollegeStudent extends Student{
String major;
public CollegeStudent(int no, String name, String sex,String major) {
super(no, name, sex);
// TODO Auto-generated constructor stub
this.major = major;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public void getGrade(int grade) {
this.grade = grade;
if(this.grade>=80 && this.grade<100) {
this.level = 'A';
}else if(this.grade>=70 && this.grade<80){
this.level = 'B';
}else if(this.grade>=60 && this.grade<70) {
this.level = 'C';
}else if(this.grade>=50 && this.grade<60) {
this.level = 'D';
}else {
this.level = 'E';
}
System.out.println(this.level);
}
public void print() {
System.out.println("no: " + this.no);
System.out.println("name: " + this.name);
System.out.println("sex: " + this.sex);
System.out.println("major: " + this.major);
}
}
class GraduateStudent extends CollegeStudent{
String supervisor;
public GraduateStudent(int no, String name, String sex, String major,String supervisor) {
super(no, name, sex, major);
// TODO Auto-generated constructor stub
this.supervisor = supervisor;
}
public String getSupervisor() {
return supervisor;
}
public void setSupervisor(String supervisor) {
this.supervisor = supervisor;
}
public void doResearch() {
System.out.println(this.name + " is doing research");
}
public void getGrade(int grade) {
this.grade = grade;
if(this.grade>=90 && this.grade<100) {
this.level = 'A';
}else if(this.grade>=80 && this.grade<90){
this.level = 'B';
}else if(this.grade>=70 && this.grade<80) {
this.level = 'C';
}else if(this.grade>=60 && this.grade<70) {
this.level = 'D';
}else {
this.level = 'E';
}
System.out.println(this.level);
}
public void print() {
System.out.println("no: " + this.no);
System.out.println("name: " + this.name);
System.out.println("sex: " + this.sex);
System.out.println("major: " + this.major);
System.out.println("supervisor: " + this.supervisor);
}
}