面向对象技术Java-期末复习试卷(四)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
期末复习试卷(四)
一、单项选择题
1、关于静态变量的概念,下列哪一个正确
A. 一旦一个静态变量被分配,它的值就不允许改变.
B. 一个静态变量在方法中被创建,它在被调用前保留上一次调用的结果.
C. 在任意多个类的实例中,它们共享类定义的静态变量
D. 在任意多个类的实例中,它们各有自己的静态变量.
正确答案:B
2、选出下面不能作为void Med(int x)方法重载的声明。
A. void Med (double y)
B. int Med (int y)
C. double Med (int x, int y)
D. public float Med (float x)
正确答案:B
3、下列哪一个不正确
A. 一个抽象类必须定义抽象方法.
B. 定义了抽象方法的类必定是抽象类.
C. 一个接口中,定义的每一个方法必须是抽象方法.
D. 一个接口中,定义的每一个成员变量必须是常量.
正确答案:A
4、Circle是GeometricObject的子类。如果有语句:Circle circle = new
Circle(1);GeometricObject object = new GeometricObject();那么下面哪个布尔表达式的值为false?
A. (circle instanceof GeometricObject)
B. (object instanceof GeometricObject)
C. (circle instanceof Circle)
D. (object instanceof Circle)
正确答案:D
5、下列关于变量的叙述哪个是错的?
A. 实例变量是类的成员变量
B. 实例变量用关键字static声明
C. 在方法中定义的局部变量在该方法被执行时创建
D. 局部变量在使用前必须被初始化
正确答案:B
二、程序题
1、编写一个应用程序,模拟机动车的加速和减速功能。机动车类Vehicle的UML图如
下,其中speedUp()方法实现加速功能,速度上限为240 km/h;speedDown()实现降速功能,下限为0 km/h。
解题要求:编写测试程序,创建Vehicle对象,设置初始速度为100 km/h,调用speedDown()方法减速5 km,再调用speedUp()方法提速10 km,输出车辆的最终速度。
2、创建一个BMI计算器。
编写一个程序,用户输入个人的身高(m)、体重(kg),计算他的BMI,并显示体重状况。使用两个文本域分别接受用户输入的身高和体重。当用户点击“计算BMI”按钮,在另外两个文本域中分别显示BMI的数值以及体重状况。
计算BMI的公式如下:
BMI = 体重公斤数/(身高米数×身高米数)。
根据BMI,可以判断个人的体重状况如下:
GUI效果可参考如下。
3、模拟一个用户登录GUI,在用户输入用户名和密码后,点击登录按钮,在控制台下显示相应信息。效果
如图1所示。
图1 基本的登录界面
如果用户输入正确的用户名和密码信息,并按下“登录”按钮,则显示效果如图2所示。
图2 输入正确的登录信息(GUI)及其系统提示信息(控制台)
如果用户输入错误的用户名或密码信息,并按下“登录”按钮,则显示效果如图3所示。
图2 输入错误的登录信息(GUI)及其系统提示信息(控制台)编写程序实现图1的GUI,并使用Java事件处理模型,处理“登录”按钮,
显示图2或图3所示的控制台信息。注:假设有效用户名为“大鲨鱼”、有效密码为
“123456”。密码输入框可以使用组件类PasswordField,基本用法参考一般文本框。
4、设计一个名为Account的银行账户类,包括:
(1) 一个名为id的int类型私有账户数据域(默认值为0)。
(2) 一个名为balance的double类型私有账户数据域(默认值为0)。(3) 一个能创建默认账户的无参构造方法。
(4) 一个能创建带特定id和初始余额的账户的构造方法。
(5) id、balance的访问器和修改器。
(6) 一个名为withDraw的方法从账户提取特定数额。
(7) 一个名为deposit的方法向账户存储特定数额。
实现Account类,在测试方法中,创建一个账户ID为1122、余额为20000美元的Account对象。使用withdraw方法取款2500美元,使用deposit方法存款3000美元,然后打印账户和余额。