当前位置: 首页 > >

Java面向对象编程上机练*题

发布时间:

【练*题】类的成员变量: 猜数字游戏:一个类 A 有一个成员变量 v,有一个初值 100。定义一个类,对 A 类的成员变量 v 进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜 测成功。 【练*题】类的成员变量: 请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等等 方 法 : 移 动 (move()) , 设 置 速 度 (setSpeed(int speed)) , 加 速 speedUp(), 减 速 speedDown()等等. 最后在测试类 Vehicle 中的 main()中实例化一个交通工具对象,并通过方法给它 初始化 speed,size 的值,并且通过打印出来。另外,调用加速,减速的方法对速 度进行改变。 【练*题】类的成员变量与方法、构造方法 在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可 以自己实现一个时间类,来满足程序中的需要。 定义名为 MyTime 的类,其中应有三个整型成员:时(hour) ,分(minute) ,秒 (second) ,为了保证数据的安全性,这三个成员变量应声明为私有。 为 MyTime 类定义构造方法,以方便创建对象时初始化成员变量。 再定义 diaplay 方法,用于将时间信息打印出来。 为 MyTime 类添加以下方法: addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou) 分别对时、分、秒进行加减运算。 【练*题】构造方法 编写 Java 程序,模拟简单的计算器。 定义名为 Number 的类,其中有两个整型数据成员 n1 和 n2,应声明为私有。编 写构造方法, 赋予 n1 和 n2 初始值, 再为该类定义加 (addition) 减 、 (subtration) 、 乘(multiplication) 、除(division)等公有成员方法,分别对两个成员变量执行 加、减、乘、除的运算。 在 main 方法中创建 Number 类的对象,调用各个方法,并显示计算结果。 【练*题】构造方法: 编写 Java 程序,用于显示人的姓名和年龄。 定义一个人类 (Person) 该类中应该有两个私有属性, (name) , 姓名 和年龄 (age) 。 定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年 龄打印出来。

在 main 方法中创建人类的实例,然后将信息显示。 【练*题】get 方法和 set 方法 定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供 该成员的 getXXX()和 setXXX()方法 提示:假设有 private String name;则有 public void setName(String name){ this.name = name; } public String getName(){ return this.name; } 【练*题】构造方法与重载 为“无名的粉”写一个类:class WuMingFen 要求: 1.有三个属性:面码:String theMa 粉的分量(两):int quantity 是否带汤:boolean likeSoup 2.写一个构造方法,以便于简化初始化过程,如: WuMingFen f1 = new WuMingFen("牛肉",3,true); 3.重载构造方法,使得初始化过程可以多样化: WuMingFen f2 = new WuMingFen("牛肉",2); 4.如何使得下列语句构造出来的粉对象是酸辣面码、2 两、带汤的? WuMingFen f3 = new WuMingFen(); 5.写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性 打印在控制台上。 【练*题】构造方法的重载: 定义一个名为 Vehicles(交通工具)的基类,该类中应包含 String 类型的成员属 性 brand(商标)和 color(颜色) ,还应包含成员方法 run(行驶,在控制台显示 “我已经开动了” )和 showInfo(显示信息,在控制台显示商标和颜色) ,并编写 构造方法初始化其成员属性。 编写 Car(小汽车)类继承于 Vehicles 类,增加 int 型成员属性 seats(座位) ,还 应增加成员方法 showCar(在控制台显示小汽车的信息) ,并编写构造方法。 编写 Truck(卡车)类继承于 Vehicles 类,增加 float 型成员属性 load(载重) , 还应增加成员方法 showTruck(在控制台显示卡车的信息) ,并编写构造方法。 在 main 方法中测试以上各类。 【练*题】构造方法与重载 定义一个网络用户类,要处理的信息有用户 ID、用户密码、email 地址。在建立 类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户 ID 和用户 密码时必须的,缺省的 email 地址是用户 ID 加上字符串"@gameschool.com" 【练*题】构造方法与重载、包

编写 Addition 类,该类中应包含一组实现两数相加运算的重载方法。 实现加法运算的方法,应接受两个参数(即加数和被加数) ,方法将两个参数进 行加法运算后,返回相加结果。考虑可能针对不同的数据类型进行计算,重载一 组方法,包括整型、长整型、浮点型、双精度浮点型、还有字符串。 在 main 方法中创建 Addition 类的实例,分别调用重载方法测试其效果。 应将 Addition 类打入到包中,以自己名字的拼音为包命名。 【练*题】构造方法与重载 将上次练*题三中编写的 MyTime 类打到以自己名字的拼音命名的包中, 并为该 类重载一组构造方法,以方便使用者能够以多种形式初始化该类的实例。 【练*题】构造方法与重载 建立一个汽车类,包括轮胎个数,汽车颜色,车身重量等属性。并通过不同的构 造方法创建事例。 至少要求:汽车能够加速,减速,停车。 要求:命名规范,代码体现层次,有友好的操作提示。 【练*题】构造方法与重载 创建一个类,为该类定义三个构造函数,分别执行下列操作: 1、传递两个整数值并找出其中较大的一个值 2、传递三个 double 值并求出其乘积 3、传递两个字符串值并检查其是否相同 4、在 main 方法中测试构造函数的调用 【练*题】Static 关键字与普通变量的区别: 创建一个名称为 StaticDemo 的类,并声明一个静态变量和一个普通变量。对变 量分别赋予 10 和 5 的初始值。在 main()方法中输出变量值。 【练*题】继承: 创建一个名称为 MainPackage 的包,使它包含 MainClass 和 MainSubClass 类。 MainClass 类应当包含变量声明,其值从构造函数中输出。MainSubClass 类从 MainClass 派生而来。试执行下列操作:创建一个名称为 SamePackage 的类,使 它导入上述包,并创建一个 MainSubClass 类的对象。 【练*题】包、继承、构造函数 创建一个名称为 MainPackage 的包,使它包含 MainClass 和 MainSubClass 类。 MainClass 类应当包含变量声明,其值从构造方法中输出。MainSubClass 类从 MainClass 派生而来。试执行下列操作:创建一个名称为 SamePackage 的类,使 它导入上述包,并创建一个 MainSubClass 类的对象。 【练*题】继承: 创建一个父类和子类,父类有一个数据成员,子类继承父类的该数据成员,通过 构造函数初始化并显示该数据成员的值。

【练*题】覆盖、继承 建立一个汽车 Auto 类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。 并通过不同的构造方法创建实例。至少要求: 汽车能够加速,减速,停车。 再 定义一个小汽车类 Car,继承 Auto,并添加空调、CD 等成员变量,覆盖加速, 减速的方法 【练*题】抽象类与继承 设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。使用继承将这些 图形分类,找出能作为基类部分的共同特征(如校准点)和方法(如画法、初始化), 并看看这些图形是否能进一步划分为子类。 本题只考虑实现思想,不考虑具体实现的细节,实现方式可自由发挥。 【练*题】抽象类: 创建一个 Vehicle 类并将它声明为抽象类。在 Vehicle 类中声明一个 NoOfWheels 方法,使它返回一个字符串值。创建两个类 Car 和 Motorbike 从 Vehicle 类继承, 并在这两个类中实现 NoOfWheels 方法。在 Car 类中,应当显示“四轮车”信息; 而在 Motorbike 类中,应当显示“双轮车”信息。创建另一个带 main 方法的类, 在该类中创建 Car 和 Motorbike 的实例,并在控制台中显示消息。 【练*题】接口: 创建一个名称为 Vehicle 的接口,在接口中添加两个带有一个参数的方法 start() 和 stop()。在两个名称分别为 Bike 和 Bus 的类中实现 Vehicle 接口。创建一个名 称为 interfaceDemo 的类,在 interfaceDemo 的 main()方法中创建 Bike 和 Bus 对 象,并访问 start()和 stop()方法。 【练*题】接口: 创建一个名称为 Vehicle 的接口,在接口中添加两个带有一个参数的方法 start() 和 stop()。在两个名称分别为 Bike 和 Bus 的类中实现 Vehicle 接口。创建一个名 称为 interfaceDemo 的类,在 interfaceDemo 的 main()方法中创建 Bike 和 Bus 对 象,并访问 start()和 stop()方法。 【练*题】抽象类、继承、接口综合 设计一个系统: XXX 门的实现过程: 流程: 设计一张抽象的门 Door,那么对于这张门来说,就应该拥有所有门的共性,开 门 openDoor() 和 关 门 closeDoor() ; 然 后 对 门 进 行 另 外 的 功 能 设 计 , 防 盗 --theftproof()、防水--waterproof()、防弹--bulletproof()、防火、防锈…… 要求:利用继承、抽象类、接口的知识设计该门

【练*题】抽象类、继承、接口综合 设计一个系统: xxx 纯净水生产线

目前流程是:从某个地方把水取出来,然后经过缓冲,过滤,加热和放糖的步骤 abstract 水{ public void 水(); } interface 过滤{} interface 缓冲{} interface 加热{} interface 放糖{} class 纯净水 1 extends 水 imps 过滤,缓冲{} class 纯净水 2 extends 水 imps 缓冲{} class 纯净水 2 extends 水 imps 过滤{}
。。 。。

【练*题】综合题 定义一个抽象的"Role"类,有姓名,年龄,性别等成员变量 1. 要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有),再通 过 GetXXX()和 SetXXX()方法对各变量进行读写。 具有一个抽象的 play() 方法,该方法不返回任何值,同时至少定义两个构造方法。Role 类中要 体现出 this 的几种用法。 2. 从 Role 类派生出一个"Employee"类,该类具有 Role 类的所有成员(构 造方法除外) ,并扩展 salary 成员变量, 同时增加一个静态成员变量 “职 工编号(ID)。同样要有至少两个构造方法,要体现出 this 和 super 的 ” 几种用法,还要求覆盖 play()方法,并提供一个 final sing()方法。 3. "Manager"类继承"Employee"类,有一个 final 成员变量"vehicle" 4. 在 main()方法中制造 Manager 和 Employee 对象,并测试这些对象的方法 【练*题】综合题 题目:品尝饮料 时间:2006-06-18 一、 语言和环境 1. 实现语言:Java 2. 环境要求:JDK1.4 或以*姹炯捌淞镏牡 二、 要求 1、使用命令行参数(饮料类型) ,输出该饮料类型的味道,如:当命令行参 数为 1 时,结果见图 1:

图1

2、如果没有该种饮料,结果见如图 2:

三、 推荐实现步骤 1、建立一个 Java 抽象类 Drink,应当: a、声明一个抽象方法 taste(),该方法负责输出饮料的味道; b、声明 int 型常量来代表不同的饮料类型(咖啡、啤酒、牛奶) ,如: c、声明静态工厂方法 getDrink(int drinkType),根据传入的参数创建 不同的饮料对象,并返回该对象,建议使用 switch 语句。该方法要 求声明 DrinkNotFoundException,当没有相对应的饮料类型时,抛 出该异常。 2、建立 Drink 的具体子类: a、分别建立 Drink 的子类:Coffee(代表咖啡) ,Beer(代表啤酒) , Milk(代表牛奶); b、实现 taste()方法,要求在控制台打印各自的味道特征。 3、建立异常类 DrinkNotFoundException a、继承 Exception b、在 Drink 的 方 法 getDrink(int drinkType) 中 声 明 引 发 DrinkNotFoundException 异常,当传入的参数没有相对应的饮料类 型时,抛出异常。 c、在使用 getDrink 方法的类中捕捉该异常。 4、建立 Test 测试类,测试以上内容的正确性 a、编写 main 方法,通过命令行传参的方式传入某种饮料的类型。 b、在 main 方法中,调用 Drink 类的 getDrink 方法,获得相应的饮料 对象。注意捕获 DrinkNotFoundException。 c、然后调用该饮料对象的 taste()方法,输出该饮料的味道。 5、编译程序,并运行。 四、 注意事项 1、仔细审题,把题目要求理解准确; 2、请注意多态性的运用; 3、请注意代码的书写、命名符合规范,应有适当的注释。

图2




友情链接: hackchn文档网 营销文档网 爱linux网 爱行业网 时尚网