四、编程题
1.按要求编写一个Java应用程序:
(1)定义一个接口CanCry,描述会吼叫的方法public void cry()。
(2)分别定义狗类(Dog)和猫类(Cat),实现CanCry接口。实现方法的功能分别为:打印输出“我是狗,我的叫声是汪汪汪”、“我是猫,我的叫声是喵喵喵”。
(3)定义一个主类G,
①定义一个void makeCry(CanCry c)方法,其中让会吼叫的事物吼叫。 ②在main方法中创建狗类对象(dog)、猫类对象(cat)、G类对象(g),
用g调用makecry方法,让狗和猫吼叫。
1.(1)
Public interface CanCry{ Public void cry(); }
(2)public class Cat implemens CanCry{ Public void cry(){
System.out.printfln(“我是狗,我的叫声是汪汪汪”); }}
(3) public class Dog implemens CanCry{ Public void cry(){
System.out.printfln(“我是猫,我的叫声是喵喵喵”); }}
(4)public class G{ Void makeCry(CanCry c){ c.cry(); }
Public static void main(String[] args){ Cat cat=new Cat(); Dog dog=new Dog();
G g=new G(); g.makeCry(cat); g.makeCry(dog); }}
2、编写一个Java程序,并满足如下要求:
1)编写一个Car类,具有:
属性:品牌(mark)——String类型 功能:驾驶(void drive( ))
2)定义Car类的子类SubCar,具有:
属性:价格(price)、速度(speed)——int型
功能:变速(void speedChange(int newSpeed)),把新速度赋给speed
3)定义主类E,在其main方法中创建SubCar类的两个对象:aodi和benchi
的对象并测试其对象的特性。
4)输出效果如下:
3.某公司正进行招聘工作,被招聘人员需要填写个人信息,编写“个人简历”的封装类。包括如下属性和对属性进行操作的方法。
String xm;// 姓名 String xb;// 性别 int nl;// 年龄
String jtzz;// 家庭住址 String xl;// 学历
4.编写程序,提供实现各种数学计算的方法。包括如下几项。 (1)两个数的加、减、乘、除。
(2)求某数的相反数、倒数、绝对值。 (3)取两数中较大的和较小的。
(4)对浮点数(double型)的计算功能。如:给定浮点数d,取大于或等于d的最小整
数,取小于或等于d的最大整数,计算最接近d的整数值,计算d的平方根、自然对数log(d)等。
(5)计算以double型数a为底数,b为指数的幂。
5.编写一个抽象类Shape,声明计算图形面积的抽象方法。再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法。
6.定义一个接口,接口中有3个抽象方法如下。 (1)“long fact(int m);”方法的功能为求参数的阶乘。 (2)“long intPower(int m,int n);”方法的功能为求参数m的n次方。 (3)“boolean findFactor(int m,int n);”方法的功能为判断参数m加上参数n的和
是否大于100。
定义类实现该接口,编写应用程序,调用接口中的3个方法,并将调用方法所得的结果
输出。
7.创建一个接口IShape,接口中有一个求取面积的抽象方法“public double area()”。定义一个正方形类Square,该类实现了IShape接口。Square类中有一个属性a表示正方形的边长,在构造方法中初始化该边长。定义一个主类,在主类中,创建Square类的实例对象,求该正方形对象的面积。
8.定义一个人类,包括属性:姓名、性别、年龄、国籍;包括方法:吃饭、睡觉,工作。 (1)根据人类,派生一个学生类,增加属性:学校、学号;重写工作方法(学生的工作
是学习)。
(2)根据人类,派生一个工人类,增加属性:单位、工龄;重写工作方法(工人的工作
是??自己想吧)。
(3)根据学生类,派生一个学生干部类,增加属性:职务;增加方法:开会。 (4)编写主函数分别对上述3类具体人物进行测试。