java习题集整理Word下载.docx

上传人:b****3 文档编号:8058839 上传时间:2023-05-10 格式:DOCX 页数:23 大小:32.34KB
下载 相关 举报
java习题集整理Word下载.docx_第1页
第1页 / 共23页
java习题集整理Word下载.docx_第2页
第2页 / 共23页
java习题集整理Word下载.docx_第3页
第3页 / 共23页
java习题集整理Word下载.docx_第4页
第4页 / 共23页
java习题集整理Word下载.docx_第5页
第5页 / 共23页
java习题集整理Word下载.docx_第6页
第6页 / 共23页
java习题集整理Word下载.docx_第7页
第7页 / 共23页
java习题集整理Word下载.docx_第8页
第8页 / 共23页
java习题集整理Word下载.docx_第9页
第9页 / 共23页
java习题集整理Word下载.docx_第10页
第10页 / 共23页
java习题集整理Word下载.docx_第11页
第11页 / 共23页
java习题集整理Word下载.docx_第12页
第12页 / 共23页
java习题集整理Word下载.docx_第13页
第13页 / 共23页
java习题集整理Word下载.docx_第14页
第14页 / 共23页
java习题集整理Word下载.docx_第15页
第15页 / 共23页
java习题集整理Word下载.docx_第16页
第16页 / 共23页
java习题集整理Word下载.docx_第17页
第17页 / 共23页
java习题集整理Word下载.docx_第18页
第18页 / 共23页
java习题集整理Word下载.docx_第19页
第19页 / 共23页
java习题集整理Word下载.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java习题集整理Word下载.docx

《java习题集整理Word下载.docx》由会员分享,可在线阅读,更多相关《java习题集整理Word下载.docx(23页珍藏版)》请在冰点文库上搜索。

java习题集整理Word下载.docx

2、编写一个程序,打印出

10 

11 

12 

13 

14 

15 

双层循环,外层循环控制行数,里层的循环控制列数,每一个数都是递加得出的。

只要控制格式即可。

3、海滩上有一堆桃子,五只猴子来分。

第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。

 

 

第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份

第三、第四、第五只猴子都是这样做的, 

问海滩上原来最少有多少个桃子?

桃子的个数有多少种可能?

最少的情况下,第五只猴子分配时每只猴子得到一个桃子,这是第五只猴子看到的桃子是6个。

以倒序的思维方式思考,倒推。

4、写一段程序,定义int型变量代表month月份,并赋给初值,根据月份判断出这个月是四季中的哪个季节?

不是一年12个月份的月份,输出“错误月份”。

用ifelse语句来编写程序,条件有:

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为止,则返回值为最大公约数。

求最小公倍数:

让两个数乘积除以最大公约数,求得的值为最小公倍数。

或:

从小数开始往前找,找到能被两个数整除的,就是最大公约数

7、判断闰年

如果年份值能被4整除且不能被100整除,或者能被400整除,就是闰年,否则不是

8、输出9*9乘法表

两层循环嵌套,外层控制行数,行数为9,里层控制每行输出的方式。

行数和列数都是以1开头的。

9、打印出所有的"

水仙花数"

,所谓"

是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个"

,因为153=1^3+5^3+3^3

分析:

循环100-999,分别截取各个位上的数,再立方求和比较是否等于该数本身

10、返回比n大的最小质数

质数:

除了1和本身不能被其他数整除的数。

从N开始循环递增,判定是否是质数,是的话就打印出来。

11、给一个不多于5位的正整数,要求:

一、求它是几位数,二、逆序打印出各位数字。

转换成字符串计算长度,再反写;

或者每次除10取余,直到余数为零,判定循环了多少次。

再将每次的余数倒序输出

12、输入某年某月某日,判断这一天是这一年的第几天。

程序分析:

以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天。

特殊情况,闰年且输入月份大于3时需考虑多加一天。

13、输出下面的形式:

*

***

*****

循环嵌套,主要是控制格式,外层循环控制行数,里面有两个循环,一个循环先输出空格,另一个循环则输出*。

14、输出平行四边形:

***

***

***

循环嵌套,主要是控制格式,和三角形一样,外层循环控制行数,在里层循环中输出空格,再有一个循环控制输出*和空格。

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,求应发放奖金总数?

利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

17、打印出如下图案(菱形)

***

*******

*****

先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。

18、一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

19、求100之内的素数

20、古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

fibonacci数列1,1,2,3,5,8,13,21....

21、纳税小程序:

如果工资大于2000,扣除百分之一,如果大于3000扣除百分之二,如果大于5000扣除百分之五。

输入一个工资数,输出税后工资数。

22、将一个正整数分解质因数。

输入90,打印出90=2*3*3*5。

(1)先找到能被n整除的最小的质数k

(2)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(3)如果n<

>

k,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。

23、编程找出1000以内的所有完数。

一个数如果恰好等于它的因子之和,这个数就称为"

完数"

例如6=1+2+3

24、一球从100米高度自由落下,每次落地后反跳回原高度的一半;

再落下,求它在第10次落地时,共经过多少米?

第10次反弹多高?

25、输入三个整数x,y,z,请把这三个数由小到大输出。

我们想办法把最小的数放到x上,先将x与y进行比较,如果x>

y则将x与y的值进行交换,然后再用x与z进行比较,如果x>

z则将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、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n

30、打印输出:

******

**

31、分页显示练习:

定义一个常量,设定数据总记录数为73条(随时可以变化),一页20条记录(随时可以变化),输入页码,打印记录总数,共几页,当前是第几页,当前记录从第n条到第n条。

32、将分页显示的功能增加判断,如果用户输入的小于1的页码,自动赋成1,如果超出了总页码,自动赋成总页码。

33、铁路托运行李规定;

行李重不超过50,每公斤0.15,超过50,超出部分每公斤加收0.1,输入重量,完成自动计费

34、超市为了促销规定:

消费不足50,按原价,超过50但不足100,按九折付款,超过100,超出的部分按八折付款;

输入消费金额,完成自动计费

35、三个数比较大小(三目运算符做)

36、输入一个整数,将其数值按小于10,10-99,100-999,1000以上分类并显示。

输入358时,显示358is100to999。

37、从键盘输入一位整数,当输入数字0时程序结束;

当输入1~7时,显示下面对应的英文星期名称缩写。

1:

MON 2:

TUE 3:

WED 4:

THU 5:

FRI 6:

SAT 7:

SUN

38、编写一个类实现数字于数字的加法。

(整数+整数,小数+整数,整数+小数,小数+小数)。

第4章类和对象

1、建立一个人类,有吃饭、睡觉的方法,有姓名、性别、联系电话的属性。

使用有参构造方法和无参构造方法初始化若干个对象。

并将每个人的信息打印输出。

建立一个类,并且用相应的类型将类的属性进行声明。

定义两个方法,及构造方法。

在主方法中将这个类实例化,用两种不同的方式:

(1)用构造方法实例化,

(2)用set方法,并将所需的信息打印。

2、建立汽车类,有启动、刹车、加速、减速的方法,有车牌号、车的颜色、车主姓名。

假设只有一辆车,并将这个车初始化。

建立汽车类,定义四个方法,并声明相应的属性,在主方法中实例化这个类的对象。

3、假设有一个动物类,只能够有一个实例化的对象,如何声明类?

这种方式即为单实例模式,一个类只有一个实例化的对象,则使这个类的构造方法私有化,类内包含一个静态的本类成员,再定义一个方法,此方法返回本类对象。

4、做一个汽车类,汽车的属性有:

长度,高度,宽度,座位数,汽车的方法有:

行驶,转向,倒退

5、编写并测试一个代表地址的Address类,地址信息由国家、省份、城市、街道、邮编组成、并可以返回完整的地址信息

6、定义并测试一个代表员工的Employ类。

员工的属性包括:

编号、姓名、基本薪水、薪水增长额、还包括计算薪水增长额及计算增长后的工资总额的操作方法。

7、设计一个Dog类,有名字、颜色、年龄等属性,定义构造方法来初始化类的这些属性,定义方法输出Dog信息,编写应用程序使用Dog类。

8、设计一个表示用户的User类,类中变量有用户名,口令,和记录用户个数的变量,定义类的3个构造方法(无参,为用户赋值,为用户名和口令赋值),获取和设置口令的方法,和返回信息的方法

9、编写一个公司员工类.数据成员包括:

员工号、姓名、薪水、部门。

利用构造设置以下信息

单参:

只传递员工工号,则员工姓名:

无名氏,薪水:

0,部门:

待定。

双参:

传递员工号、姓名,则员工薪水为1000,部门:

后勤。

4参:

传递员工号、姓名、部门、薪水。

无参:

则均为空值。

要求:

显示信息。

10、构造一个银行帐户类,类的构成包括如下信息:

1)数据成员用户的帐户名称,用户的帐户余额.

2)方法包括开户(设置帐户名称及余额),利用构造方法完成.

3)查询余额.

11、声明一个图书类,其数据成员为书名、编号、(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数、记录图书的总册书,在构造方法中利用此静态变量为对象的编号赋值,在主方法中定义对象数组,并求出总册数

12、有1个组长,手下有2个助手,每个助手有2部车。

组长:

姓名、年龄

助手:

编号、年龄、姓名、特长

车:

车牌号、车型、价值

实现:

组长--助手--车的查询信息。

用数组来做,比如:

组长有个数组存两个助手

13、用面向对象的方式模拟“人遛狗”

14、用面向对象的方式模拟“乘客买票坐船”

15、用面向对象的方式模拟“两部手机发短信”

第5章数组

1、中国队的球员参加世界杯比赛,每个球员都有一个相同的进球的方法,每个球员进球的数量是随机个,输出每个球员进球的数量。

声明一个整型的数组,用来存储每个球员进球数,定义一个进球的方法,每个球员进球数为随机个,利用循环的方式,调用进球方法,每个球员进球的数量即为数组的元素,最后输出每个数组的元素。

2、建立一个数组,存储10个不同的int型数据,比较每个值的大小,按照从大到小的顺序排列,并将这个数字按照此顺序打印出来使用两种方法做出来。

提示:

冒泡排序和选择排序的方法

3、求3*3的矩阵的对角线中的所有元素之和。

每个数为从1到9的数。

用两层循环嵌套,利用两条对角线的行数和列数的关系求和,左对角线行数和列数相等,右对角线的行数和列数之和为2,利用这两种关系求得。

4、学校发省政府奖学金5000元,一共有50个学生获得了这个奖学金,分别输出获得该项奖学金的学生姓名。

声明一个类,在主方法中,有一个字符串型的数组,数组中存储的是每个人的姓名,则利用循环输出数组的元素即可。

5、有一个已经排好序的数组。

现输入一个数,要求按原来的规律将它插入数组中。

首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

6、输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

7、打印输出杨辉三角

8、写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-1

9、有n个人围成一圈,顺序排号。

从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

10、十五个猴子围成一圈选大王,依次1-7循环报数,报到7的猴子被淘汰,直到最后一只猴子成为大王。

问,哪只猴子最后能成为大王

11、合并两个数组:

输入两个正整数m,n分别是数组a,b的元素个数,然后再输入a,b的元素,将其合并在一个数组里,a在前,b在后(放到一个新的数组c里)

输入45(m,n)

1245(a的m个元素)

23567(b的n个元素)

输出124523567

12、现在有如下一个数组:

intoldArr[]={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

++X+++++++

(3)电脑自动下棋用O符号标识。

电脑下棋位置由随机数生成。

3,5

++++O+++++

16、声明一个长度为10的整形数组,从控制台输入数据初始化该数组,如果输入的个数多于数组长度,实现动态扩展功能。

(数组的拷贝)

17、随机生成一个数n,取值在3-7之间,要求:

(1)生成一个n行n列的数组,该数组中每个元素的值要求是0-9之间的随机数,并输出。

(2)输出该数组中每行、每列元素的和。

(3)对该数组中的每行、每列元素的和进行从小到大排序输出。

(4)输出和值中的最大值和最小值。

18、随机生成两个整数r和c,取值都在3-8之间,输出r行c列的螺旋矩阵。

r值为4,c值为5.

12345

141516176

132019187

12111098

第6章字符串

1、初始化一个字符串,将其按照顺序输出再按照字符串的倒序输出字符串。

利用tocharArray()方法,将字符串放入一个数组当中,利用for循环按照其顺序输出,和倒序输出。

2、一个字符串当中含有大写字母和小写字母。

将字符串都变成大写字母输出一次,再将字符串都变成小写字母输出。

调用toLowerCase()方法将字符串中的字母都变成小写,调用toUpperCase()方法将字符串的字母都变成大写。

3、字符串“aabu4cd”将字符串改写成“aabuuuucd”并输出。

将原字符串变成“aabuccccd”输出字符串。

只要将字符串遍历后,判断每个字符是否是数字,数字在0到9之间,循环输出数字前的字母即可,下同。

4、将两个字符串连接并输出。

利用concat()方法,将两个字符串连接。

5、判断字符串是否以“a”结尾,如果是则输出此字符串,如果不是,则将字符串改成以“a”为结尾的字符串。

要利用endwith()方法判断,如果是则输出此字符串,如果不是,将最后一个字母更改为a.

6、输出指定字符串的指定位置的字母。

应用的是charAt()方法返回的是指定索引处的字符串。

7、输入一行字符串,分别统计出其中英文字母、空格、数字和其它字符的个数。

8、将TOM:

89|JERRY:

90|TONY:

78拆分成

TOM→89

JERRY→90

TONY→78

9、判断一个字符串是否是回文,例如“rotor“反转之后还是”rotor“,所以是回文

10、随机输入的一句话比如:

It’sonlyatest!

存放在一个char[]的数组中,统计char[]中的单词的个数。

11、从控制台输入一串字符,对该串字符进行加密操作,和解密操作并打印出来。

12、自定义字符串,全由0-9的数字组成,统计其中0-9出现的次数

第7章继承和多态

1、学生类和教师类都是继承了人类的属性和生活的方法,但是学生有学习的方法,而教师则有教书的方法。

因为学生类和教师类都继承了人类的属性和方法,所以先有一个人类,学生和教师来继承人类,在学生类里定义学习的方法,在教师的类里定义教书的方法。

2、汽车类和轿车类,轿车继承汽车,轿车重写了汽车的加速方法。

先写汽车类,汽车类里有加速的方法,轿车则继承了汽车,并将加速方法重写。

2、每个孩子都会犯错,父母根据孩子犯错的类型不一样,对错误进行处理,教育孩子。

写出父母类,孩子类和错误类。

有父母类,孩子类和错误类,错误类当中有处理错误的方法,

4、民政部门统计人口数量,统计出某个城市的工人的数量和学生的数量,要求有学生类和工人类,还有统计数据的类,最后,输出学生的数目和工人的数目,此数目为随机数。

定义三个类,学生、工人和统计数据的类,统计数据类当中有学生和工人类的对象数组作为其属性,并在类中定义输出学生和工人数目的方法。

5、模拟一款游戏,有战士、法师,战士为武力,攻击力为60、被击损伤80点,法师为魔法,攻击力为80、被击损伤100点血,战士血量为800,法师血量为600,怪物血量为10000,模拟游戏过程。

定义个NPC类,可以打怪和被打,战士、法师和怪都继承NPC类,并重写其中的方法。

6、要求有警察局,给警察局传入不同的罪犯,则警察局做出不同的处罚方法。

犯罪分子是多态的。

他身上有被处罚的方法。

7、在一个马戏团中有一些动物:

狗,猫,猴子,他们身上都有表演的方法,狗的表演方式是站立,猫的表演方式是跳火圈,猴子的表演方式是倒挂金钩,现在有一个驯养员他身上有一个指导表演的方法,即让动物们去表演,对于上面描述的内容,采用继承和多态进行模拟。

8、银行的客户分为两类,储蓄账户(SavingAccount)和信用账户(CreditAccount),区别在于储蓄账户不允许透支;

而信用账户可以透支,并允许用户设置自己的透支额度.

注意:

CreditAccount需要多一个属性ceiling透支额度

为这两种用户编写相关的类

同时要求编写Bank类,属性:

1)当前所有的账户对象的集合,存放在数组中

2)当前账户数量

方法:

1)用户开户,需要的参数:

id,密码,密码确认,姓名,身份证号码,邮箱,账户类型,返回新创建的Account对象

2)用户登录,参数:

id,密码返回Account对象

3)用户存款,参数:

id,存款数额,返回修改过的Account对象

4)用户取款,参数:

id,取款数额,返回修改过的Account对象

5)设置透支额度,参数:

id,新的额度,返回修改过的Account对象.这个方法需要验证账户是否是信用账户

9、现在有一个电子产品制造商,专门生产音乐播放产品,有MP3,手机,PC机.所有的音乐播放产品都有共同的行为:

音乐播放,显示播放列表.

编程模拟这个制造商,告诉制造商你想要哪种音乐播放产品,制造商立刻制造你所要的音乐播放产品并送到你的手中.

第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