ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:32.34KB ,
资源ID:6544426      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6544426.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java习题集整理.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

java习题集整理.docx

1、java习题集整理Java核心技术上习题集整理第1章 绪论习题解题思路1、编写一个HelloWorld程序。在主方法中输出HelloWorld第2章基本元素习题解题思路1、2san、same、$2、_DD 、_s、fianl、float这些标识符是否合法?根据命名规范和命名规则判定2、adds、ADDS是否是一样的?java中规定严格区分大小写3、使用三目运算符,比较两个数a和b的大小?a-b0?a:b4、华氏温度和摄氏温度互相转换,从华氏度变成摄氏度你只要减去32,乘以5再除以9就行了,将摄氏度转成华氏度,直接乘以9,除以5,再加上32即行。5、已知a,b均是整型变量,写出将a,b两个变量中

2、的值互换的程序。思考:不借用第三变量交换6、输入一个任意的大写字母AZ,转换为小写字母,(后面再练习输入一个字符串,大写全部转换为小写)7、输入一个任意的5位整数,将它保留到百位,无需四舍五入8、输入一个任意的浮点数,例如3.123456789,保留其两位小数输出,无需四舍五入第3章结构控制习题解题思路1、编写一个程序,打印出1 2 3 3 4 5 4 5 6 7 5 6 7 8 9 双层循环,外层循环控制行数,里层的循环控制列数,行数和列数之和可以显示出每个数。2、编写一个程序,打印出1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 双层循环,外层循环控制行数,里层的循

3、环控制列数,每一个数都是递加得出的。只要控制格式即可。3、海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。 第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?桃子的个数有多少种可能?最少的情况下,第五只猴子分配时每只猴子得到一个桃子,这是第五只猴子看到的桃子是6个。以倒序的思维方式思考,倒推。4、写一段程序,定义int型变量代表month 月份,并赋给初值,根据月份判断出这个月是四季中的哪个季节?不是一年12个月份的月份,输出

4、“错误月份”。用if else语句来编写程序,条件有:1.月份大于0且小于等于3的是春季;2.月份大于3且小于等于6的是夏季;3.月份大于6且小于等于9的是秋季;4.月份大于9且小于等于12的是冬季;5.月份要符合12个月,否则是出错;5、用while 语句编写代码,输出1+2+3+4+.100的值。结束的条件是数值是小于101,执行体是一个数不断的叠加,最后输出结果。6、输入两个正整数m和n,求其最大公约数和最小公倍数。让最大值除以最小值取余,余数结果为0则二者最小值为最大公约数,如果余数不为0则让最小值再除以此余数,直至余数为0为止,则返回值为最大公约数。求最小公倍数:让两个数乘积除以最大

5、公约数,求得的值为最小公倍数。或:从小数开始往前找,找到能被两个数整除的,就是最大公约数7、判断闰年如果年份值能被4整除且不能被100整除,或者能被400整除,就是闰年,否则不是8、输出9*9乘法表两层循环嵌套,外层控制行数,行数为9,里层控制每行输出的方式。行数和列数都是以1开头的。9、打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个水仙花数,因为153=135333分析: 循环100-999,分别截取各个位上的数,再立方求和比较是否等于该数本身10、返回比n大的最小质数质数:除了1和本身不能被其他数整除的数。从N开始循环递增,判定是否是质

6、数,是的话就打印出来。11、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。转换成字符串计算长度,再反写;或者每次除10取余,直到余数为零,判定循环了多少次。再将每次的余数倒序输出12、输入某年某月某日,判断这一天是这一年的第几天。程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天。特殊情况,闰年且输入月份大于3时需考虑多加一天。13、输出下面的形式:*循环嵌套,主要是控制格式,外层循环控制行数,里面有两个循环,一个循环先输出空格,另一个循环则输出*。14、输出平行四边形: * * * * * * * * 循环嵌套,主要是控制格式,和三角

7、形一样,外层循环控制行数,在里层循环中输出空格,再有一个循环控制输出*和空格。15、输出菱形:* * * * * * * * 思路和三角形类似,但是分为上三角形和下三角形来输出。16、企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利I,求应发放

8、奖金总数?利用数轴来分界,定位。注意定义时需把奖金定义成长整型。17、打印出如下图案(菱形)* * * * *先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。18、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。19、求100之内的素数20、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?fibonacci数列1,1,2,3,5,8,13,21.21、纳税小程序:如果工资大于2000,扣除百分之一,如果大

9、于3000扣除百分之二,如果大于5000扣除百分之五。输入一个工资数,输出税后工资数。22、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。(1)先找到能被n整除的最小的质数k(2)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(3)如果nk,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。23、编程找出1000以内的所有完数。一个数如果恰好等于它的因子之和,这个数就称为完数。例如6=12324、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?25、输入三个整数

10、x,y,z,请把这三个数由小到大输出。程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,然后再用x 与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小。26、两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。27、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。请抓住分子与分母的变化规律。28、求1+2!+3!+.+20!的和此程序只是把累加变成了累乘。29、编

11、写一个函数,输入n为偶数时,调用函数求1/2+1/4+.+1/n,当输入n为奇数时,调用函数1/1+1/3+.+1/n30、打印输出:* * * *31、分页显示练习:定义一个常量,设定数据总记录数为73条(随时可以变化),一页20条记录(随时可以变化),输入页码,打印记录总数,共几页,当前是第几页,当前记录从第n条到第n条。32、将分页显示的功能增加判断,如果用户输入的小于1的页码,自动赋成1,如果超出了总页码,自动赋成总页码。33、铁路托运行李规定;行李重不超过50,每公斤0.15,超过50,超出部分每公斤加收0.1 ,输入重量,完成自动计费34、超市为了促销规定:消费不足50,按原价,超

12、过50但不足100,按九折付款,超过100,超出的部分按八折付款;输入消费金额,完成自动计费35、三个数比较大小(三目运算符做)36、输入一个整数,将其数值按小于10,10-99,100-999,1000以上分类并显示。例如:输入358时,显示358 is 100 to 999。37、从键盘输入一位整数,当输入数字0时程序结束;当输入17时,显示下面对应的英文星期名称缩写。1: MON 2: TUE 3: WED 4: THU 5: FRI 6:SAT 7: SUN38、编写一个类实现数字于数字的加法。(整数+整数,小数+整数,整数+小数,小数+小数)。第4章类和对象习题解题思路1、建立一个人

13、类,有吃饭、睡觉的方法,有姓名、性别、联系电话的属性。使用有参构造方法和无参构造方法初始化若干个对象。并将每个人的信息打印输出。建立一个类,并且用相应的类型将类的属性进行声明。定义两个方法,及构造方法。在主方法中将这个类实例化,用两种不同的方式:(1)用构造方法实例化,(2)用set方法,并将所需的信息打印。2、建立汽车类,有启动、刹车、加速、减速的方法,有车牌号、车的颜色、车主姓名。假设只有一辆车,并将这个车初始化。建立汽车类,定义四个方法,并声明相应的属性,在主方法中实例化这个类的对象。3、假设有一个动物类,只能够有一个实例化的对象,如何声明类?这种方式即为单实例模式,一个类只有一个实例化

14、的对象,则使这个类的构造方法私有化,类内包含一个静态的本类成员,再定义一个方法,此方法返回本类对象。4、做一个汽车类,汽车的属性有:长度,高度,宽度,座位数,汽车的方法有:行驶,转向,倒退5、编写并测试一个代表地址的Address类,地址信息由国家、省份、城市、街道、邮编组成、并可以返回完整的地址信息6、定义并测试一个代表员工的Employ类。员工的属性包括:编号、姓名、基本薪水、薪水增长额、还包括计算薪水增长额及计算增长后的工资总额的操作方法。7、设计一个Dog类,有名字、颜色、年龄等属性,定义构造方法来初始化类的这些属性,定义方法输出Dog信息,编写应用程序使用Dog类。8、设计一个表示用

15、户的User类,类中变量有用户名,口令,和记录用户个数的变量,定义类的3个构造方法(无参,为用户赋值,为用户名和口令赋值),获取和设置口令的方法,和返回信息的方法9、编写一个公司员工类数据成员包括:员工号、姓名、薪水、部门。利用构造设置以下信息 单参:只传递员工工号,则员工姓名:无名氏,薪水:0,部门:待定。 双参:传递员工号、姓名,则员工薪水为1000,部门:后勤。 4参:传递员工号、姓名、部门、薪水。 无参:则均为空值。要求:显示信息。10、构造一个银行帐户类,类的构成包括如下信息:1)数据成员用户的帐户名称,用户的帐户余额2)方法包括开户(设置帐户名称及余额),利用构造方法完成3)查询余

16、额11、声明一个图书类,其数据成员为书名、编号、(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数、记录图书的总册书,在构造方法中利用此静态变量为对象的编号赋值,在主方法中定义对象数组,并求出总册数12、有1个组长,手下有2个助手,每个助手有2部车。组长:姓名、年龄助手:编号、年龄、姓名、特长车:车牌号、车型、价值实现:组长-助手-车的查询信息。用数组来做,比如:组长有个数组存两个助手13、用面向对象的方式模拟“人遛狗”14、用面向对象的方式模拟“乘客买票坐船”15、用面向对象的方式模拟“两部手机发短信”第5章数组习题解题思路1、中国队的球员参加世界杯比赛,每个球员都有一个相同的进球的

17、方法,每个球员进球的数量是随机个,输出每个球员进球的数量。声明一个整型的数组,用来存储每个球员进球数,定义一个进球的方法,每个球员进球数为随机个,利用循环的方式,调用进球方法,每个球员进球的数量即为数组的元素,最后输出每个数组的元素。2、建立一个数组,存储10个不同的int 型数据,比较每个值的大小,按照从大到小的顺序排列,并将这个数字按照此顺序打印出来使用两种方法做出来。提示:冒泡排序和选择排序的方法3、求3*3的矩阵的对角线中的所有元素之和。每个数为从1到9的数。用两层循环嵌套,利用两条对角线的行数和列数的关系求和,左对角线行数和列数相等,右对角线的行数和列数之和为2,利用这两种关系求得。

18、4、学校发省政府奖学金5000元,一共有50个学生获得了这个奖学金,分别输出获得该项奖学金的学生姓名。声明一个类,在主方法中,有一个字符串型的数组,数组中存储的是每个人的姓名,则利用循环输出数组的元素即可。5、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。6、输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。7、打印输出杨辉三角8、写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-

19、1 9、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。10、十五个猴子围成一圈选大王,依次1-7 循环报数,报到7 的猴子被淘汰,直到最后一只猴子成为大王。问,哪只猴子最后能成为大王11、合并两个数组:输入两个正整数m,n 分别是数组a,b 的元素个数,然后再输入a,b的元素,将其合并在一个数组里,a在前,b在后(放到一个新的数组c里)例如:输入 4 5 (m,n) 1 2 4 5 (a的m个元素) 2 3 5 6 7 (b的n个元素)输出 1 2 4 5 2 3 5 6 712、现在有如下一个数组: int oldArr

20、=1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5;要求将以上数组中的0项去掉,将不为0的值存入一个新的数组.13、声明一个长度为10的数组,用0-100的随机数初始化该数组,要求每个元素均不能重复。14、编写用户信息类(用户名、密码、邮箱) 1)要求实现用户注册(验证用户名密码格式、邮箱格式:如12235 符号不能在第一个位置,点号不能在前面并且与.之间至少要有一个字符)2)实现用户登录验证功能(验证用户名、密码)15、模拟五子棋程序。(1)打印10*10的矩阵图形 + + + + + + + + + +(2)输入坐标点X,Y 使矩阵中对应的(X,Y)点变成X符号如下图:2,3

21、 + +X+ + + + + + + + +(3)电脑自动下棋用O符号标识。电脑下棋位置由随机数生成。3,5 + +X+ +O+ + + +16、声明一个长度为10的整形数组,从控制台输入数据初始化该数组,如果输入的个数多于数组长度,实现动态扩展功能。(数组的拷贝)17、随机生成一个数n,取值在3-7之间,要求:(1)生成一个n行n列的数组,该数组中每个元素的值要求是0-9之间的随机数,并输出。(2)输出该数组中每行、每列元素的和。(3)对该数组中的每行、每列元素的和进行从小到大排序输出。(4)输出和值中的最大值和最小值。18、随机生成两个整数r和c,取值都在3-8之间,输出r行c列的螺旋矩阵

22、。例如:r值为4,c值为5. 1 2 3 4 514 15 16 17 613 20 19 18 712 11 10 9 8第6章字符串习题解题思路1、初始化一个字符串,将其按照顺序输出再按照字符串的倒序输出字符串。利用tocharArray()方法,将字符串放入一个数组当中,利用for循环按照其顺序输出,和倒序输出。2、一个字符串当中含有大写字母和小写字母。将字符串都变成大写字母输出一次,再将字符串都变成小写字母输出。调用toLowerCase()方法将字符串中的字母都变成小写,调用toUpperCase()方法将字符串的字母都变成大写。3、字符串“aabu4cd”将字符串改写成“aabuu

23、uucd”并输出。将原字符串变成“aabuccccd”输出字符串。只要将字符串遍历后,判断每个字符是否是数字,数字在0到9之间,循环输出数字前的字母即可,下同。4、将两个字符串连接并输出。利用concat()方法,将两个字符串连接。5、判断字符串是否以“a”结尾,如果是则输出此字符串,如果不是,则将字符串改成以“a”为结尾的字符串。要利用endwith()方法判断,如果是则输出此字符串,如果不是,将最后一个字母更改为a.6、输出指定字符串的指定位置的字母。应用的是charAt()方法返回的是指定索引处的字符串。7、输入一行字符串,分别统计出其中英文字母、空格、数字和其它字符的个数。8、将TOM

24、:89|JERRY:90|TONY:78拆分成TOM89JERRY90TONY789、判断一个字符串是否是回文,例如“rotor“反转之后还是”rotor“,所以是回文10、随机输入的一句话比如:Its only a test!存放在一个char的数组中,统计char中的单词的个数。11、从控制台输入一串字符,对该串字符进行加密操作,和解密操作并打印出来。12、自定义字符串,全由0-9的数字组成,统计其中0-9出现的次数第7章继承和多态习题解题思路1、学生类和教师类都是继承了人类的属性和生活的方法,但是学生有学习的方法,而教师则有教书的方法。因为学生类和教师类都继承了人类的属性和方法,所以先有

25、一个人类,学生和教师来继承人类,在学生类里定义学习的方法,在教师的类里定义教书的方法。2、汽车类和轿车类,轿车继承汽车,轿车重写了汽车的加速方法。先写汽车类,汽车类里有加速的方法,轿车则继承了汽车,并将加速方法重写。2、每个孩子都会犯错,父母根据孩子犯错的类型不一样,对错误进行处理,教育孩子。写出父母类,孩子类和错误类。有父母类,孩子类和错误类,错误类当中有处理错误的方法,4、民政部门统计人口数量,统计出某个城市的工人的数量和学生的数量,要求有学生类和工人类,还有统计数据的类,最后,输出学生的数目和工人的数目,此数目为随机数。定义三个类,学生、工人和统计数据的类,统计数据类当中有学生和工人类的

26、对象数组作为其属性,并在类中定义输出学生和工人数目的方法。5、模拟一款游戏,有战士、法师,战士为武力,攻击力为60、被击损伤80点,法师为魔法,攻击力为80、被击损伤100点血,战士血量为800,法师血量为600,怪物血量为10000,模拟游戏过程。定义个NPC类,可以打怪和被打,战士、法师和怪都继承NPC类,并重写其中的方法。6、要求有警察局,给警察局传入不同的罪犯,则警察局做出不同的处罚方法。犯罪分子是多态的。他身上有被处罚的方法。7、在一个马戏团中有一些动物:狗,猫,猴子,他们身上都有表演的方法,狗的表演方式是站立,猫的表演方式是跳火圈,猴子的表演方式是倒挂金钩,现在有一个驯养员他身上有

27、一个指导表演的方法,即让动物们去表演,对于上面描述的内容,采用继承和多态进行模拟。8、银行的客户分为两类 , 储蓄账户 (SavingAccount) 和信用账户 (CreditAccount), 区别在于储蓄账户不允许透支;而信用账户可以透支 , 并允许用户设置自己的透支额度 .注意 :CreditAccount 需要多一个属性 ceiling 透支额度为这两种用户编写相关的类同时要求编写 Bank 类 , 属性 :1)当前所有的账户对象的集合 , 存放在数组中2)当前账户数量方法 :1)用户开户 , 需要的参数 :id, 密码 , 密码确认 , 姓名 , 身份证号码 , 邮箱 , 账户类型

28、 , 返回新创建的Account 对象2)用户登录 , 参数 :id, 密码返回 Account 对象3)用户存款 , 参数 :id, 存款数额 , 返回修改过的 Account 对象4)用户取款 , 参数 :id, 取款数额 , 返回修改过的 Account 对象5)设置透支额度, 参数 :id, 新的额度 , 返回修改过的 Account 对象 . 这个方法需要验证账户是否是信用账户9、现在有一个电子产品制造商,专门生产音乐播放产品,有MP3,手机,PC机.所有的音乐播放产品都有共同的行为:音乐播放,显示播放列表.编程模拟这个制造商,告诉制造商你想要哪种音乐播放产品,制造商立刻制造你所要的

29、音乐播放产品并送到你的手中.第8章应知类习题解题思路1、一个类它有一个内部类,内部类有一个int型的属性,外部类也有一个int型的属性,创建一个对象,访问内部类的int 属性。主要是按照内部类的使用规则,创建内部类对象访问内部类的属性。2、彩票开奖,要有五个随机的数,这五个随机数就是本次的中奖号码,请输出这一组中奖号码。定义一个彩票类,主要应用的是math.random()方法,得到一组随机数。3、把2.4和4.5和-5.6四舍五入变成整数输出。主要应用round()方法。4、递归输出5!写一个方法,自己调用本方法算出阶乘,5作为参数传递,从5开始,直到1为止。5、输出5!+4!+3!+2!+1;思想同5!一样,只不过是要通过循环,将这5个阶乘相加。6、随机生成5个10以内的整数。要求不能重复。生成一个随机整数,与数组中的元素对比,如果数组中已经有这个元素了,重新生成。7、有5个人坐在一起,问第5个人多少岁?他说比第4个人

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2