77范文网 - 专业文章范例文档资料分享平台

第3章-面向对象程序设计-上机实验要求 (1)(3)

来源:网络收集 时间:2019-03-28 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Mobilephone mobile; tel = new Telephone(\ mobile = new Mobilephone(\ tel.setRate(0.2); tel.setDialledTime(150); mobile.setRate(0.4); //设置主叫时间为80 mobile.setReceivedTime(120); tel.display( );

System.out.println( ); //显示移动电话的信息 } }

第六题:

6. 设计三个类分别是学生类Student、本科生类Undergraduate和研究生类Postgraduate。

其中Student类是一个抽象类,它包含一些基本的学生信息,如姓名、所学课程、课程成绩等,而Undergraduate和Postgraduate类都是Student类的子类,它们之间的差别是计算课程成绩等级的方法有所不同。如下表所示: 标准 80~100 70~80 60~70 50~60 50以下 本科生 优秀 良好 一般 及格 不及格 90~100 80~90 70~80 60~70 60以下 研究生 标准 优秀 良好 一般 及格 不及格 假设某班级时既有本科生也有研究生,编写程序统计出全班学生的成绩等级并显示出来。查看如下源程序,其运行结果如下:

实验要求:

A. 现将下面的源程序补充完整

B. 在Polymorphism类中有一个循环语句来计算每个学生的成绩等级: for (int i=0; i<5 ;i++) {

students[i].calculateGrade(); }

这里的calculateGrade()方法是按照研究生的标准还是按照本科生的标准来计算的?

C. 在程序Polymorphism类中,哪些语句体现了子类的对象可以赋值给父类的引用变

量?

D. 在程序Polymorphism类的main()方法中添加下的语句:

Student st = new Student(\李明\

此时编译是否会报错?如有错误,请解释原因。

E. 在程序中要判断Student[i]中存放的究竟是Undergraduate对象还是Postgraduate对

象,只需要调用students[i].getType( )方法即可,然而Java提供了一个instanceof运算也可完成这一任务,它能判断一个对象所属的类,请将以下的代码添加到程序中进行测试:

for (int i=0; i<5 ;i++) { if (students[i] instanceof Undergraduate) System.out.println(students[i].getName( )+\是本科生\ else System.out.println(students[i].getName( )+\是研究生\ }

F. 模拟本程序,新增加一个高中生类,它计算成绩等级的标准采用如下方法,然后在

程序中测试并使用它。 标准 80~100 60~80 60以下 高中生 G. 源代码:Polymorphism.java

abstract class Student {

final static int CourseNo = 3; String name; String type;

int[] courses;

String courseGrade;

public Student(String name) {

this.name = name;

courses = new int[CourseNo];

/初始化为空串courseGrade }

好 中 差 public abstract void calculateGrade();

public String getName( ) {

//返回学生类型 } public String getType( ) {

return type; } public String getCourseGrade( ) {

return courseGrade; }

public int getCourseScore(int courseNumber) {

return courses[courseNumber]; }

public void setName(String name) {

this.name = name; } public void setType(String type) {

this.type = type; }

public void setCourseScore(int courseNumber, int courseScore) {

//按课程索引号设置课程成绩 } }

class Undergraduate extends Student {

public Undergraduate(String name ) {

super(name); type = \本科生\ }

public void calculateGrade() {

int total = 0; double average = 0;

for (int i = 0; i < CourseNo; i++) {

//累加各门课程成绩 };

average = total / CourseNo;

if (average>=80&&average<100) courseGrade = \优秀\ else if (average>=70&&average<80) courseGrade = \良好\ else if (average>=60&&average<70) courseGrade = \一般\ else if (average>=50&&average<60) courseGrade = \及格\ else courseGrade = \不及格\ } }

class Postgraduate extends Student {

public Postgraduate(String name) {

super(name); type = \研究生\ }

public void calculateGrade() {

int total = 0;

double average = 0;

for (int i = 0; i < CourseNo; i++) { total += courses[i]; };

average = total / CourseNo; if (average>=90&&average<100) courseGrade = \优秀\ else if (average>=80&&average<90) courseGrade = \良好\ else if (average>=70&&average<80) courseGrade = \一般\ else if (average>=60&&average<70) courseGrade = \及格\ else courseGrade = \不及格\ } }

public class Polymorphism {

public static void main(String[] args) {

Student[] students = new Student[5];

students[0] = new Undergraduate(\陈建平\ students[1] = new Undergraduate(\鲁向东\ students[2] = new Postgraduate(\匡晓华\ students[3] = new Undergraduate(\周丽娜\ //创建姓名为梁欣欣的Postgraduate对象students[4] for (int i=0; i<5 ;i++) { students[i].setCourseScore(0,87); students[i].setCourseScore(1,90); students[i].setCourseScore(2,78); }

for (int i=0; i<5 ;i++) { students[i].calculateGrade(); }

System.out.println(\姓名\ 类型\ 成绩\ System.out.println(\ for (int i=0; i<5 ;i++) {

System.out.println(students[i].getName( )+\ \ students[i].getType( )+\ \ students[i].getCourseGrade( ));

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库第3章-面向对象程序设计-上机实验要求 (1)(3)在线全文阅读。

第3章-面向对象程序设计-上机实验要求 (1)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/550227.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: