6-10 奖学金资格审查系统
分数 15
全屏浏览
切换布局
作者 大数据2021
单位 山东科技大学
由于奖学金评选工作需要,现需要设计一套系统对学生是否具有评选资格进行筛选,目前已给出一个学生类Student
,其包含学号(String id
)、综合测评成绩(double ca
)两个私有属性,以及具有能够初始化学号和综合测评成绩两个参数的构造方法和判断是否具有参评奖学金资格的方法(boolean isReq()
),需要您完成以下内容:
1、定义本科生类Undergraduate
继承Student
,并重写isReq()
若ca>=80
时返回true
,否则返回false
;
2、定义研究生类Graduate
继承Student
,增加导师确认(boolean supervisor
)属性,并重写isReq()
若ca>=85
且supervisor
为true
时返回true
,否则返回false
;
注意:除题目已给出的属性,所有类不得添加新的属性,但可以适当添加方法。
裁判测试程序样例:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //通过键盘输入确定Student数组的长度 Student[] stu = new Student[Integer.parseInt(sc.nextLine())]; for (int i = 0; i < stu.length; i++) { //截取输入的字符 String[] str = sc.nextLine().split("\\s+"); //三个字符串表示为Graduate,否则为Undergraduate if (str.length > 2) { stu[i] = new Graduate(str[0], Double.parseDouble(str[1]), Boolean.parseBoolean(str[2])); } else { stu[i] = new Undergraduate(str[0], Double.parseDouble(str[1])); } } //循环输出结果 for (int i = 0; i < stu.length; i++) { if(stu[i].isReq()) System.out.println(stu[i].getId() + " pass" ); else System.out.println(stu[i].getId() + " fail" ); } sc.close(); } } class Student { private String id; private double ca; public Student(String id, double ca) { this.id = id; this.ca = ca; } public boolean isReq() { return false; } public String getId() { return id; } public double getCA() { return ca; } } /* 请在这里填写答案 */
输入样例:
7
001 56
002 80
003 81
004 12 false
005 80 false
006 85 false
007 85 true
输入样例解释:
第1行表示需要输入n行数据;
第2至n+1行表示待输入的学生信息,格式为学号+分数+导师确认(有此项表示为研究生,本科生没有),每个数据间用空格隔开。
输出样例:
001 fail
002 pass
003 pass
004 fail
005 fail
006 fail
007 pass
输出样例解释:
n行结果,格式为学号+结果,每个数据间空格隔开。
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
class Undergraduate extends Student{
public Undergraduate(String id, double ca) {
super(id, ca);
}
@Override
public boolean isReq() {
return getCA()>=80;
}
}
class Graduate extends Student{
boolean supervisor;
public Graduate(String id, double ca,boolean supervisor) {
super(id, ca);
this.supervisor=supervisor;
}
@Override
public boolean isReq() {
if( getCA()>=85&&supervisor==true) {
return true;
}
else {
return false;
}
}
}