JavaSE练习题.docx

上传人:可****阿 文档编号:30822176 上传时间:2022-08-07 格式:DOCX 页数:14 大小:713.15KB
返回 下载 相关 举报
JavaSE练习题.docx_第1页
第1页 / 共14页
JavaSE练习题.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《JavaSE练习题.docx》由会员分享,可在线阅读,更多相关《JavaSE练习题.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、JavaSE二次质检 Java语言高级(OOP,集合,IO)1. 构造方法编写程序,模拟简单的计算器。定义名为Number的类,中有两个整型数据成员n1 ,n2应声明为私有。编写构造方法,赋予n1和n2初始值再为该类定义加(addition)、减(subtration)、乘(multiplication)、(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象,调用各个方法,并显示计算结果。(类和对象创建正确:2分 调用正确:1分)2. 读取文件character.txt文件中所有的字符,例如“asdascveasrgdfsd

2、f”,获取该字符串中每一个字母出现的次数。要求:按照字母表的顺序进行打印,打印结果是:a(2)b(1).(4分:正确读取文件中所有字符 1分,正确分割每个字符 1分,正确统计每个字母的出现次数 1分,按照要求正确打印输出结果 1分)3. 创建一个动物类,具有name,age,sex三个属性,从键盘输入3个动物对象数组信息,存放入一个TreeSet集合(要求根据年龄进行排序,年龄相同按姓名升序),最后创建一个方法,读取1.txt中的信息并且输出打印4. (3分:类模板和信息循环录入1分,集合创建1分,排序后打印1分)5. 淘宝上的商品(Goods)种类繁多,有电器类(Elec),有服装类(Clo

3、thing)。电器类商品都可以充电(IChargeable),服装类商品都可以穿戴(IWearable)。Google眼镜(GoogleGlass)属于电器类,却既可以充电,也可以穿戴。请根据题目描述创建相应的类、接口,正确关联它们的关系(继承 or 实现)(3分: 电器和服装继承Goods 1分,电器实现IChargeable并且服装实现IWearable 1分Google眼镜继承Elec并且实现IWearable 1分)2.1)创建Student对象,属性有String类型的name,int类型的age,double类型的score,并定义相关getter、setter等方法。实现某个接口

4、,使其可以根据分数降序排序。2)创建5个Student对象,并将这5个Student对象存入TreeSet容器。3)迭代器和增强for循环两种方式遍历该容器,验证排序结果。(4分:Student对象创建1分。 接口实现1分。TreeSet存入及两种方式遍历2分)3.1)用代码实现创建文件夹iotek,iotek中创一个文件夹iotekson,在iotekson中创建2个文件1.txt和2.txt,要求1.txt中的内容由键盘输入的信息决定,输入完毕后赋值内容到2.txt中,读取2.txt输出打印。2)复制iotek文件夹下所有内容到另外一个盘中,生成一个新的文件夹newiotek,复制完毕提示

5、”.复制完毕”3)要求请捕获程序中可能出现的各种异常。(3分:创建文件夹:1分,复制:1分,异常捕获:1分)1.定义一个List对象,如下 List list = new ArrayList();1) 在list中添加元素,nihao,wohao,dajiahao,nihao(1分)2) 在list的第二个位置添加元素,tahao(1分)) 用Iterator迭代器遍历打印list中元素(1分)2.1)Person类自身具备比较能力(实现Comparable接口),比较的规则是“姓名字典顺序”(请用英文名)。2)然后通过匿名内部类指定一种比较器(Comparator),比较规则是“分数降序”。

6、3)写一个测试类,创建ArrayList集合,并添加5个Person对象。先用Collections工具类直接对该集合排序,输出排序结果,并打印分割线。4)然后用Collections工具类结合匿名内部类对该集合排序,输出排序结果。(4分:Comparable 1分,Comparator 1分,集合的使用和Collections工具类1分,匿名内部类 1分)3.1)用代码实现创建文件夹iotek,iotek中创一个文件夹iotekson,在iotekson中创建2个文件1.txt和2.txt,要求1.txt中的内容由键盘输入的信息决定,输入完毕后赋值内容到2.txt中,读取2.txt输出打印。

7、2)复制iotek文件夹下所有内容到另外一个盘中,生成一个新的文件夹newiotek,复制完毕提示”.复制完毕”3)要求请捕获程序中可能出现的各种异常。(3分:创建文件夹:1分,复制:1分,异常捕获:1分)6.1)创建Student类,包含String类型的name,int类型的age,double类型的score,并重写getter、setter等方法。2)创建5个Student对象。已知一个Integer类型的学号对应唯一的一个Student对象3)将5个Student对象保存到HashMap容器中。4)遍历该容器,打印出来。(3分: Student类和对象的创建1分,HashMap存0.

8、5分,HashMap遍历 1.5分(直接print得0.5分)。)7.1)定义Person类,属性有String类型的name,int类型的age,double类型的score,并定义相关getter、setter等方法。2)通过Comparator接口实现类分别定义三种比较器:姓名自然顺序(请用英文名)年龄升序分数降序 3)创建ArrayList集合保存至少3个Person对象,然后通过Collections工具类依次按照3种比较器排序并输出排序结果(4分:类定义 1分,三种排序 2分,集合使用及Collections工具类 1分)8. 场景描述:上海日报有很多的订阅者,这些订阅者包括教师、

9、学生等等。当上海日报有了更新之后,会主动通知每一位订阅者。接口和类之间的关系如下图所示:测试类代码如下图:请根据题目描述,通过代码实现上述效果(3分:接口及实现类 1分、抽象类及子类1分、效果正确1分。)9.(1)定义一个接口CanCry,描述会吼叫的方法public void cry()。 (1分)(2)分别定义狗类(Dog)和猫类(Cat),实现CanCry接口。实现方法的功能分别为:打印输出“我是狗,我的叫声是汪汪汪”、“我是猫,我的叫声是喵喵喵”。 (1分)(3)定义一个主类G, 定义一个void makeCry(CanCry c)方法,其中让会吼叫的事物吼叫。 在main方法中创建狗

10、类对象(dog)、猫类对象(cat)、G类对象(g),用调用makecry方法,让狗和猫吼叫。(1分)10. 创建一个人类,具有属性,name,age,sex,在Test类中创建一个ArrayList存放5个人类对象,如果2个对象name,age,sex都相同那么判定为同一个对象,无法存入集合,存放完后,对集合进行排序,排序规则:名字相同,比较年龄,年龄相同,比较性别,(字符串根据字典自然顺序升序,年龄根据大小升序,使用Comparaotr接口匿名内部类实现)2.创建一个人类,具有属性,name,age,sex,在Test类中创建一个ArrayList存放5个人类对象,如果2个对象name,a

11、ge,sex都相同那么判定为同一个对象,无法存入集合,存放完后,对集合进行排序,排序规则:名字相同,比较年龄,年龄相同,比较性别,(字符串根据字典自然顺序升序,年龄根据大小升序,使用comparaotr接口匿名内部类实现)(4分:类创建:1分,重写equals方法:1分,排序:2分)11. 创建一个动物类,具有name.age.sex,从键盘输入动物的信息的同时使用io流保存这些信息到d:1.txt,并且将这些信息存放入动物的对象,存放入一个TreeSet集合(要求根据年龄进行排序)只要生成5个对象即可,最后创建一个方法,读取1.txt中的信息并且输出打印(3分:类和对象创建正确:1分,保存到

12、文件:1分,读取:1分)12.(1)定义一个接口CanCry,描述会吼叫的方法public void cry()。 (1分)(2)分别定义狗类(Dog)和猫类(Cat),实现CanCry接口。实现方法的功能分别为:打印输出“我是狗,我的叫声是汪汪汪”、“我是猫,我的叫声是喵喵喵”。 (1分)(3)定义一个主类G, 定义一个void makeCry(CanCry c)方法,其中让会吼叫的事物吼叫。 在main方法中创建狗类对象(dog)、猫类对象(cat)、G类对象(g),用 g调用makecry方法,让狗和猫吼叫。(1分)13. .创建一个人类,具有属性,name,age,sex,在Test类

13、中创建一个ArrayList存放5个人类对象,如果2个对象name,age,sex都相同那么判定为同一个对象,无法存入集合,存放完后,对集合进行排序,排序规则:名字相同,比较年龄,年龄相同,比较性别,(字符串根据字典自然顺序升序,年龄根据大小升序,使用comparaotr接口匿名内部类实现)(4分:类创建:1分, 重写equals方法:1分, 排序:2分)14. 创建一个动物类,具有name.age.sex,从键盘输入动物的信息的同时使用io流保存这些信息到d:1.txt,并且将这些信息存放入动物的对象,存放入一个TreeSet集合(要求根据年龄进行排序)只要生成5个对象即可,最后创建一个方法

14、,读取1.txt中的信息并且输出打印。(3分:类和对象创建正确:1分,保存到文件:1分,读取:1分)15. 定义一个worker类,有姓名、年龄、工资属性: 为Worker 类写出get、set方法,重写equals 方法,当姓名、年龄、工资全部相等时候才返回true。(3分: 定义类:1分;get、set方法:1分;equals 方法:1分)16. 已知有一个Worker 类如下: public class Worker private int age; private String name; private double salary; public Worker () public W

15、orker (String name, int age, double salary) this.name = name; this.age = age; this.salary = salary; public int getAge() return age; public void setAge(int age) this.age = age; public String getName() return name; public void setName(String name) this.name = name; public double getSalary() return sal

16、ary; public void setSalary(double salary) this.salary = salary; public void work() System.out.println(name + “ work”); 1) 创建一个List,在List 中增加三个工人,基本信息如下: 姓名 年龄 工资 zhang3 18 3000 li4 25 3500 wang5 22 3200 (1分)2) 在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资3300 (1分)3) 删除wang5 的信息 (1分)17. 4) 利用for 循环遍历,打印List 中所

17、有工人的信息 (1分3.用生产者消费者模式,模拟存取苹果的过程,其中有Apple类,Basket类,每一秒放一个苹果,篮子中只能存放5个苹果,放满以后取出依次取出5个苹果,一共有2个苹果,模拟这个存取过程。( 类和对象创建正确:1分, 模式使用:2分)18. 定义一个List对象,如下 List list = new ArrayList();1) 在list中添加元素,nihao,wohao,dajiahao,nihao(1分)2) 在list的第二个位置添加元素,tahao(1分)3) 用Iterator迭代器遍历打印list中元素(1分)19. 一个运输公司从网上得到订单,订单上标有货物重

18、量和运输里程,该公司可以使用3种运输工具:卡车、火车、飞机。编写运输接口,声明3个接口常量,表示运输工具,声明一个计算运费的方法,参数是重量和里程。卡车、火车、飞机分别实现运输接口,计算运费的方法如下:卡车:运费=重量*距离*120,当距离大于1000km或重量大于60(t)的时候拒载,返回-1火车:当距离在900km内,运费=重量*距离*250,大于900km时,运费=重量*距离*300飞机:当距离大于500km时,运费=重量*距离*750,否则拒载,返回-1提示:飞机常量public static final int TRUCK=1 运输方法:public double cost(doub

19、le weight,double space);编写测试类,在命令行中输入重量、距离,main方法中使用运输接口和实现类,通过多态计算出每种工具的运费(正确定义接口 1分, 三种运输工具的实现类 每个实现类2分,main方法中正确使用多态计算运费 1分(没有使用多态不得分))20. 已知某学校的教学课程内容安排如下:完成下列要求: 1) 使用一个Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述 课程安排。 (1分)2) 增加了一位新老师Allen 教JDBC (1分)3) 遍历Map,输出所有的老师及老师教授的课程(SetMap.Entry、Set get(key) (1分)21

20、. 1)创建Student类,包含String类型的name,int类型的age,double类型的score,并重写getter、setter等方法。 2)创建5个Student对象。已知一个Integer类型的学号对应唯一的一个Student对象 3)将5个Student对象保存到HashMap容器中。 4)遍历该容器,打印出来。(3分: Student类和对象的创建1分,HashMap存储Student 1分,打印1分)2.一个运输公司从网上得到订单,订单上标有货物重量和运输里程,该公司可以使用3种运输工具:卡车、火车、飞机。编写运输接口,声明3个接口常量,表示运输工具,声明一个计算运费

21、的方法,参数是重量和里程。卡车、火车、飞机分别实现运输接口,计算运费的方法如下:卡车:运费=重量*距离*120,当距离大于1000km或重量大于60(t)的时候拒载,返回-1火车:当距离在900km内,运费=重量*距离*250,大于900km时,运费=重量*距离*300飞机:当距离大于500km时,运费=重量*距离*750,否则拒载,返回-1提示:飞机常量public static final int TRUCK=1 运输方法:public double cost(double weight,double space);编写测试类,在命令行中输入重量、距离,main方法中使用运输接口和实现类,

22、通过多态计算出每种工具的运费(正确定义接口 1分, 三种运输工具的实现类 每个实现类2分,main方法中正确使用多态计算运费 1分(没有使用多态不得分))3.有以下字符串:chenhaozhangsanzhangsanchenhaolisiwangwuzhaoliuxiaoqiangHaha按长度升序排序(长度一致按ASCII码自然升序),排序后的集合对象以序列化方式保存到二进制文件,再从文件以反序列化读取到控制台显示(3分:排序1分,保存1分,加载1分,如未实现序列化反序列化但实现保存加载仅得 1分)22. 1)创建Student类,包含String类型的name,int类型的age,dou

23、ble类型的score,并重写getter、setter等方法。 2)创建5个Student对象,保存到ArrayList容器中 3)通过迭代器和增强for循环两种方式遍历该集合。(3分: Student类定义和对象创建 1分,迭代器遍历1分,增强for循环遍历 1分)2.1)Person类自身具备比较能力(实现Comparable接口),比较的规则是“姓名字典顺序”(请用英文名)。2)然后通过匿名内部类指定一种比较器(Comparator),比较规则是“分数降序”。3)写一个测试类,创建ArrayList集合,并添加5个Person对象。先用Collections工具类直接对该集合排序,输出

24、排序结果,并打印分割线。4)然后用Collections工具类结合匿名内部类对该集合排序,输出排序结果。( Comparable 1分、Comparator 1分、集合的使用和Collections工具类1分、匿名内部类 1分)3.有以下字符串:chenhaozhangsanzhangsanchenhaolisiwangwuzhaoliuxiaoqiangHaha按长度升序排序(长度一致按ASCII码自然升序),排序后的集合对象以序列化方式保存到二进制文件,再从文件以反序列化读取到控制台显示(3分:排序1分,保存1分,加载1分,如未实现序列化反序列化但实现保存加载仅得 1分)23. 自定义方法

25、addMoney( )模拟手机充值的过程。在该方法中输入“充值卡卡号#充值卡密码#充值的手机号码”字符串,从中取出要充值的手机号码,向用户确认是否要充值。用户输入1表示确定,输出其它任意键则表示放弃。根据方法返回值判断充值是否成功(必须判断用户输入的是否是数值),在main( ) 方法中输出充值结果,如图所示。(3分:能够取出手机号码 1分,条件判断正确 1分,用户输入的金额做格式判断 1分)24. 有如下Student对象:其中,classNum 表示学生的班号,例如“class05”。使用List集合添加5个学员对象,完成下列要求(要求单独定义方法实现):1)计算所有学生的平均年龄2)按班

26、级编号升序为所有学员对象排序,如班级相同则按姓名升序排序3)打印输出排序后结果(4分:集合创建和添加对象1分,平均年龄1分,排序实现1分,打印1分,未写方法的扣1分)25. 网上购物时某用户填写订单,编写init()方法提供从控制台输入购买信息,将购买信息存入到集合对象中,编写save()方法将清单对象保存到文件“save.bin”中,并计算客户所需付款(3分:正确使用循环结构完成购物流程 1分,购物清单放入到集合对象中保存,并正确输出 1分,购物清单信息能正确写入到文件中 1分) 26. 对输入的信息进行有效性验证,录入会员生日时,形式必须是“月/日”,例如:“09/12”;录入的管理员密码

27、必须在610位之间,并且不能由纯数字或字母组成;允许用户重复录入,直到输入正确为止(3分:能够正确使用循环结构,允许用户多次输入,并能正确退出循环 1分,正确判断输入的月份和日期是否有效 1分,正确判断密码格式要求 1分)27. 有以下字符串:chenhaozhangsanzhangsanchenhaolisiwangwuzhaoliuxiaoqianghaha按照各个字符串出现的次数升序排序,并依次输出字符串内容以及出现的次数(4分:计算每个字符串出现的次数 2分,能够按照次数进行排序 1分,输出1分)28. 将排序后的结果,以序列化方式保存到二进制文件,再从文件以反序列化读取到控制台显示(

28、如未完成第二题使用内存模拟数据实现。3分:调用1分,保存1分,加载1分,如未实现序列化反序列化但实现保存加载仅得 1分)29. 编写类Student的成员变量:sNo 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。需要有参无参构造方法和getter、setter方法。创建五个该类的对象,从键盘输入每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,最大值。(3分:类模板 1分,输入 1分,输出平均值最大值 1分)30. 读取文件character.txt文件中所有的字符,例如“asdascveasrgdfsdf”,获取该字符串中每

29、一个字母出现的次数。要求:按照字母表的顺序进行打印,打印结果是:a(2)b(1).(4分:读取1分,统计字符次数2分,输出1分)31. 场景描述:上海日报有很多的订阅者,这些订阅者包括教师、学生等等。当上海日报有了更新之后,会主动通知每一位订阅者。接口和类之间的关系如下图所示:测试类代码如下图:请根据题目描述,通过代码实现上述效果。(3分:接口及实现类 1分,抽象类及子类1分,结果正确1分。)32. 编写Java程序模拟简单的计算器。定义名为Number的类其中有两个整型数据成员n1和n2应声明为私有。编写构造方法赋予n1和n2初始值再为该类定义加addition、减subtration、乘m

30、ultiplication、除division等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象调用各个方法并显示计算结果(3分: 类模板属性,构造方法及自定义方法1分,创建对象并初始化1分,加减乘除结果正确1分)33. 创建一个工人类,包括姓名,年龄,工资三个属性。创建一个List,在List 中增加三个工人,基本信息如下: 姓名 年龄 工资 zhang3 18 3000 li4 25 3500 wang5 22 3200 (1分)在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资3300 ,需判断姓名是否重复,重复则提示

31、添加不成功(类模板和三个工人1.5分,判断重复1分,添加0.5分)删除wang5 的信息 (0.5分)利用foreach 循环遍历,打印List 中所有工人的信息 (0.5分)34. 用代码实现创建文件夹iotekiotekson两级目录,在iotekson中创建2个文件1.txt和2.txt,要求1.txt中的内容由键盘输入的信息决定,输入完毕后复制内容到2.txt中,读取2.txt输出打印。复制iotek文件夹下所有内容到另外一个盘中,生成一个新的文件夹newiotek,复制完毕提示”.复制完毕”要求请捕获程序中可能出现的各种异常。(3分:2级目录,1.txt文件保存成功1分,复制文件2.txt 1分,复制整个文件夹含子目录及文件1分,复制文件和文件夹要求定义方法实现)

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

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁