期末复习试卷(四)单项选择题1、关于静态变量的概念,下列哪一个正确A. 一旦一个静态变量被分配,它的值就不允许改变 .B. 一个静态变量在方法中被创建,它在被调用前保留上一次调用的结果C. 在任意多个类的实例中,它们共享类定义的静态变量D. 在任意多个类的实例中,它们各有自己的静态变量 . 正确答案: B2、选出下面不能作为void Med(i nt x)方法重载的声明。
A. void Med (double y)B. int Med (int y)C. double Med (int x, int y)D. public float Med (float x)正确答案: B3、下列哪一个不正确A. 一个抽象类必须定义抽象方法 .B. 定义了抽象方法的类必定是抽象类 .C. 一个接口中,定义的每一个方法必须是抽象方法.D. 一个接口中,定义的每一个成员变量必须是常量.正确答案: A4 、 Circle 是 GeometricObject 的子类。
如果有语句: Circle circle = newCircle(1);GeometricObject object = new GeometricObject(); 那么下面哪个布尔表达式的值为false?A. (circle instanceof GeometricObject)B. (object instanceof GeometricObject)C. (circle in sta nceof Circle)D. (object in sta nceof Circle)正确答案:D5、下列关于变量的叙述哪个是错的?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,输出车辆的最终速度。
private float speed;public Vehicle(){}public Vehicle(float speed){ this.speed = speed;}public float getSpeed() {retur n speed;}public void setSpeed(float speed) { this.speed = speed;}public void speedUp(float speedUp){if ((speed + speedUp)>240)speed = 240;elsespeed += speedUp;}public void speedDow n( float speedDow n){ if ((speed - speedDow n)< 0) speed = 0;elsespeed -= speedDow n;}}2、创建一个BMI计算器。
编写一个程序,用户输入个人的身高(m)、体重(kg),计算他的BMI,并显示体重状况。
使用两个文本域分别接受用户输入的身高和体重。
当用户点击计算BM” 按钮,在另外两个文本域中分别显示BMI的数值以及体重状况。
计算BMI的公式如下:BMI =体重公斤数/ (身高米数X身高米数)。
根据BMI,可以判断个人的体重状况如下:RMT <18.5 1E5 v= BMI 25.0 25.0 v= BK4T v 30.030.( J u= HKTT GUI 效果可参考如下* BMI Olcvihtor 巳.1 public class BMI { private String name;private int age;private double weight; // i n pou ndsprivate double height; // i n in chespublic static final double KILOGRAMS_PER_POUND = 0.45359237;public static final double METERS_PER_INCH = 0.0254;public BMI(Stri ng n ame, int age, double weight, double height) {this .n ame = n ame;this.age = age;this.weight = weight;this.height = height;}public BMI(Stri ng n ame, double weight, double height) {this (n ame, 20, weight, height);}I nler pretci t u>nT Tiulerweigh* Ntirmul< A er^eipht < >bexe public BMI(double weight,double height){ this("Mary",20,weight,height);}public double getBMI() {double bmi = weight / (height * height ); return Math.round(bmi * 100) / 100.0;}public Str ing getStatus() {double bmi = getBMI();if (bmi < 18.5)retur n "Un derweight";else if (bmi < 25)return "Normal";else if (bmi < 30)return "Overweight";elsereturn "Obese";}public Stri ng getName() {return n ame;}public int getAge() {return age;}public double getWeight() {return weight;}public double getHeight() {retur n height;}3、模拟一个用户登录GUI,在用户输入用户名和密码后,点击登录按钮,在控制台下显示相应信息。
效果如图1所示。
如果用户输入正确的用户名和密码信息,并按下登录”按钮,则显示效果如图2 所示。
图2输入正确的登录信息(GUI)及其系统提示信息(控制台)如果用户输入错误的用户名或密码信息,并按下登录”按钮,则显示效果如图3所示。
图2输入错误的登录信息(GUI)及其系统提示信息(控制台)编写程序实现图1的GUI,并使用Java事件处理模型,处理登录”按钮,显示图2或图3所示的控制台信息。
注:假设有效用户名为大鲨鱼”有效密码为“123456。
密码输入框可以使用组件类PasswordField,基本用法参考一般文本框。
import javafx.applicatio n.Applicatio n;import javafx.sce ne.Sce ne;4、设计一个名为 Account的银行账户类,包括:(1)一个名为id的int类型私有账户数据域(默认值为0)。
(2)一个名为balanee的double类型私有账户数据域(默认值为(3)一个能创建默认账户的无参构造方法。
(4) 一个能创建带特定id和初始余额的账户的构造方法。
(5) id、balanee的访问器和修改器。
(6) —个名为withDraw的方法从账户提取特定数额。
(7) —个名为deposit的方法向账户存储特定数额。
实现Account类,在测试方法中,创建一个账户 ID为1122、余额为20000美元的Account对象。
使用 withdraw 方法取款 2500美元,使用 deposit方法存款 3000美元,然后打印账户和余额。
public int getId() {return id;}public void setld(i nt id) {this.id = id;}public double getBala nce() {retur n bala nee;}public void setBala nce(double bala nee) { this.bala nee = bala nee;}public void withdraw(double mon ey){if (bala nee > mon ey){bala nee -= mon ey;}elseSystem.out.println("余额不足");}public void deposit(double mon ey){bala nee += mon ey;}}。