Java面向对象练习经典题

上传人:cn****1 文档编号:505279129 上传时间:2022-12-27 格式:DOC 页数:3 大小:18.50KB
返回 下载 相关 举报
Java面向对象练习经典题_第1页
第1页 / 共3页
Java面向对象练习经典题_第2页
第2页 / 共3页
Java面向对象练习经典题_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《Java面向对象练习经典题》由会员分享,可在线阅读,更多相关《Java面向对象练习经典题(3页珍藏版)》请在金锄头文库上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除JAVA程序作业题1、设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。2、编写一个类Calculate1,实现加、减两种运算,然后,编写另一个派生类Calculate2,实现乘、除两种运算。3、建立三个类:居民、成人、官员。居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。要求每个类的字段都以属性的方式对外提供数据输入输出的功能。4、编写一个类,其中包含一个排序的方法sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反

2、序输出。5. 编写一个控制台应用程序,定义一个类MyClass,类中包含有public、private以及protected数据成员及方法。然后定义一个从MyClass类继承的类MyMain,将Main方法放在MyMain中,在Main方法中创建MyClass类的一个对象,并分别访问类中的数据成员及方法。要求注明在试图访问所有类成员时哪些语句会产生编译错误。7创建一个类包含有protected数据。在相同的文件里创建第二个类,用一个方法操纵第一个类里的protected数据9 编写一个控制台应用程序,完成下列功能,并回答提出的问题。 1) 创建一个类A,在构造函数中输出“A”,再创建一个类B,

3、在构造函数中输出“B”。 2) 从A继承一个名为C的新类,并在C内创建一个成员变量B。不要为C创建构造函数。 3) 在Main方法中创建类C的一个对象,写出运行程序后输出的结果。 4) 如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么?10 编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。 1) 创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。 2) 再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。 3) 在Main方法中分别

4、创建类A和类B的对象,并分别调用MyMethod方法。11. 创建一个类,它存储一个int数据成员MyNumber,并给该数据成员创建属性,当该数据成员被存储时,将其乘以100;当其被读取时,将其除以100。12. 定义一个车辆(Vehicle)基类,具有Run、Stop等方法,具有Speed(速度)、MaxSpeed(最大速度)、Weight(重量)等字段。然后以该类为基类,派生出bicycle、car等类。并编程对该派生类的功能进行验证。13.设计一个立方体类Box,它能计算并输出立方体的体积和表面积。14.编写一个程序,设计一个点类Point,实例化两个点之后,能调用其方法求两个点之间的

5、距离。15、 写一个学生类,包括属性: 学号,班号,姓名,年龄,性别;要求用无参构造,方法获得:学号,班号,姓名,年龄(只能小于100岁,大于1,否则重新输入) ,性别(只能男或者女,否则重新输入),最后在主函数输出你对一个学生对象赋值的信息。16.创建一个employee类,该类中姓名、街道地址、市、省和邮政编码。把表示构造函数、changname()、display()的函数的原型放在类定义中,构造函数初始化每个成员,display()函数把完整的对象数据打印出来。17. 编写出一个通用的人员类(Person),该类具有姓名(Name)、年龄(Age)、性别(Sex)等域。然后对Perso

6、n 类的继承得到一个学生类(Student),该类能够存放学生的5门课的成绩,并能求出平均成绩。最后在Main函数中对student类的功能进行验证。18 创建一程序,该程序包括一个筛子类,后者有三个数据成员,即筛子的面数,筛子的点数以及包含随机数类的静态数据成员。为这个类声明一个名为roll()的成员方法,它以随机的方式返回下一次掷筛子得的点数。19.(1)定义一个游戏中Hero 英雄的类,在该类中定义英雄的名字, 生命值和等级3 个属性,定义一个构造函数完成对生命值和等级的初始化,分别赋初值为100,1。同时实现名字的输入和英雄信息的输出。(2)在上一题的基础上,为英雄再定义拥有一个参数的

7、构造方法,传入一个英雄类型的值,如果为1,则为普通英雄,生命值为100,如果该值为2,则为高级英雄,生命值初始化为200。(3)在上两英雄类型的基础上,为英雄添加一个基本战斗的方法, 该方法拥有一个英雄类型的参数,当传入另一个英雄时,能降低对方100 点血。 再增加一个绝招的重载方法,加入一个战斗类型参数,通过输入不同绝招参数,降低对方不同的血量。20、设计一个BankAccount类,实现银行某账号的资金往来账目管理,包括建账号、存入、取出等。BankAccount类包括,账号(BankAccountId)、开户日期Date(日期),Money(金额),Rest(余额)。另有一个构造函数和三

8、个成员函数Bankin()(处理存入账),Bankout()处理取出账)和和一个负责生成账号的自动增长的函数。21、 编写一个程序,已有若干学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。思路: 设计一个学生类Stud,除了包括no(学号)、name(姓名)、和deg(成绩)数据成员外。有两个静态变量sum和num,分别存放总分和人数,另有一个构造函数、一个普通成员函数disp()和一个静态成员函数avg(),它用于计算平均分。22.编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。思路: 设计一个学生类Stud,除了包括no(学号)、n

9、ame(姓名)和deg(成绩)数据成员外,有两个静态变量sum和num,分别存放总分和人数,另有成员函数disp(),用于输出数据成员的值,另有一个静态成员函数avg(),它用于计算平均分。在main()函数中定义了一个对象数组用于存储输入的学生数据。23编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求只输出成绩在8089分的学生数据。思路: 设计一个学生类Stud,包括no(学号)、name(姓名)和deg(成绩)数据成员,和成员函数 disp(),用于只输出成绩在8089分数段的学生数据。在main()函数中定义了一个学生对象数组,用于存储输入的学生数据。24.编写一个程序,统计

10、学生成绩,其功能包括输入学生的姓名和成绩,按成绩从高到低排列打印输出,对前%70的学生定为合格(PASS),而后30%的学生定为不合格(FAIL)思路: 设计一个类student,包含学生的姓名和成绩等数据。设计一个类Compute: sort()、disp(),它们分别用于按成绩排序和输出数据。25.设计一个词典类Dic,每个单词包括英文单词及对应的中文含义,并有一个英汉翻译成员函数,通过查词典的方式将一段英语翻译成对应的汉语。 思路: 字典项类DicItem包括EngLish(英语单词)、Chinese(对应中文含义)数据成员,字典类包括一个字典项类的列表,包含Add()(添加单词)和trans(英汉翻译)成员函数。【精品文档】第 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号