实验三 继承和多态
一、实验目的
1.熟练掌握封装性,多态性的概念。
2.熟练掌握抽象类abstract的概念。
3.熟练掌握接口interface的概念。
4.熟练包package的概念以及编译运行的方法。
二、实验内容
1.编写一个Java Application程序,该程序有个点Point类,它包含横坐标x和纵坐标y两个属性,再给Point定义两个构造方法和一个打印点坐标的方法Show。定义一个圆Circle类,它继承Point类(它是一个点,圆心(Center)),除此之外,还有属性半径Radius,再给圆定义2个构造方法、一个打印圆的面积的方法PrintArea和一个打印圆中心、半径的方法Show(其中显示圆心可以用super.Show()的方式)。
编写一测试类,对其进行编译、运行。结果如何?如去掉语句“super.Show();”,再看看运行结果。理解程序中重载和多态性的运用。
2.完成以下步骤要求:
    (1)设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x和y值的public方法。
    (2)设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r,获取和设置r值的public方法、计算圆面积的public方法。
    (3)设计一个表示圆柱体的类Cylinder,它继承自类Circle,还包含有表示圆柱体高的protected类型的成员变量h、获取和设置h值的public方法、计算圆柱体体积的public方法。
    (4)建立若干个Cylinder对象,输出其轴心位置坐标、半径、高及其体积的值。
3.学校中有老师和学生两类人,而在职研究生既是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。
    (1)设计两个信息管理接口StudentInterface和TeacherInterfaceo其中,StudentInterface接口包括setFee方法和getFee方法,分别用于设置和获取学生的学费;TeacherInterface接口包括setPay方法和getPay方法,分别用于设置和获取教师的工资。
nextint()方法
    (2)定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface接口,它定义的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资)。
(3)创建一个姓名为"zhangsan"的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“provide a loan”(需要贷款)信息。
1.编辑、编译、运行和调试以下程序,说明程序功能;改变变量n的初值,观察运行结果变化;若“for(i=1;i<n;i++)”语句后加上“;”,结果会怎样?
2.编写一个Java应用程序。用户从键盘输入两个数,程序判断两个数的大小后,将最大的一个数输出。
提示:
为实现从键盘上输入数据,除了课堂上讲授的方法外,还可以通过输入对话框来实现。首先导入类:
    import javax.swing.*;
然后执行
    String strNumber1=JOptionPane.showInputDialog("请输入第一个数");
    String strNumber2=JOptionPane.showInputDialog("请输入第二个数");
语句,可以分别弹出一个输入字符串数据对话框,用户输入的字符串将分别返回给strNumber1和strNumber2。
最后为了比较两数大小,还需将字符串转化为数值。执行
      int number1=Integer.parseInt(strNumber1);
      int number2=Integer.parseInt(strNumber2);
语句。可以将形如"23"和"25"的字符串转化为int型数据。
3. 编写一个Java应用程序。运行时向用户提问“你考试考了多少分?”,接受输入后判断其等级,显示等级。规则如下:
    优:90≤分数≤100
    良:80≤分数<90
    中:70≤分数<80
    及格:60≤分数<70
差:0≤分数<60
4. 编写一个Java应用程序。输出'A'到'Z'的Unicode码值。输出格式为:字符=码值。每行输
出5个字符的码值。
5.产生10个2~100的随机正整数,然后逐个判断这10个数是不是素数,并输出判断的结果。素数是指除了1和它自身以外不能被其他整数整除的数。
提示:
产生随机数可以有多种方法,其中之一是:
首先导入类:
    import java.util.*;
执行
Random rand=new Random();
int Int(100)+1;
语句,可以随机产生2~100的数,并将返回值给变量value。
实验一
1.给定一个一维整型数组,实现以下功能:
(1)求数组元素中的最大值;
(2)求数组元素中的最小值;
(3)求某个关键字在数组中的序号,若给定关键字在数组中不存在,返回-1;
(4)将数组中所有元素按升序重新排列;
(5)判断数组的元素序列是否己排序;
要求每个功能用一个方法实现,并编写main方法进行测试。
2.编写一个方法出两个字符串中所有共同的字符,并在main方法中通过键盘输入两个字符串进行测试。
3.声明银行账户类,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等
账户信息,成员方法包括开户、存款、取款、查询余额、销户等操作。
4.声明一个矩阵类,使用二维数组存储矩阵元素,实现以下方法:
(1)输出矩阵类中所有元素值;
(2)返回当前矩阵的转置矩阵;
(3)判断当前矩阵是否是上三角矩阵;
(4)将当前矩阵加上另一矩阵;
(5)将当前矩阵与另一个矩阵相加,不改变当前矩阵;
(6)判断当前矩阵与另一个矩阵是否相等。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。