Java基础编程练习50题
本人萌新一枚,通过自己对网上流传较广的已有的经典50道Java编程题分析理解整理(不少题型的考察点相识,换汤不换药),对每道题分析并敲写了代码(基本实现了题干要求),有的自认为解题思路还算巧妙,有的也许虽然实现了需求但是可能较为“死板“^ - ^,欢迎大家参阅批评指正!
【程序1】
题目:
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
分析:利用递归解决斐波那契数列。
分析:for循环,Flag。
分析:利用‘%’,‘/’拿到百,十,个位。
【程序4】
题目: 将一个正整数分解质因数。例如:输入90,打印出90=233*5。
分析:代码未考虑1,2,3这三个正整数。
分析:if语句的运用。
分析:可写两个方法分别解决,小贴士:最大公约数从大的开始往下找。
分析:利用ASKII码。
分析:for循环控制累加,变量等。
分析:没啥特别好分析的,注意类名尽量不要学我用拼音取名吧23333。
【程序10】
题目:一球从h米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在 第n次落地时,共经过多少米?第n次反弹多高?
分析:画个草图应该就能分析出来(本题为方便检验将高度h定位100米)。
分析:别想的太复杂,利用for循环嵌套。
分析:算是数学应用题23333。
分析:下面写的是在1-1000内找到符合题干要求的;for循环嵌套。
分析:注意平年和闰年。
分析:程序里取巧利用了Arrays的一个现成方法直接进行从小到大排序,算是偷懒了。。。
分析:for循环嵌套,可利用" "(制表符)使得输出好看些。
分析:利用递归。
分析:①c说他不和x,z比,说明他只和y比;
②a说他不和x比,但是y和c比了,所以他肯定是和z比;
③那剩下的x就是和b比了
分析:程序以”*“为例打印,找空格和星号之间的规律联系。
分析:抓住分子与分母的变化规律后累加即可,下面参考代码中还用了递归处理。
分析:累乘后累加,阶乘处理。
分析:还是递归,理解了递归的奥妙就好处理了。
分析:还是对递归的理解和使用。
分析:参考程序使用.charAt方法。
分析:两头开始互相比较。
分析:switch case 语句,参考代码以小写字母为例。
分析:素数老生常谈了。
分析:for循环,比较交换。
【程序29】
题目:求一个3*3矩阵对角线元素之和。
1 2 3
4 5 6
7 8 9
分析:考察二维数组。
分析:考察数组元素交换,参考程序原数组排序规律为从大到小。
分析:还是考察数组元素交换。
分析:将原来的整数到个序,转换后再求。
【程序33】
题目:打印出杨辉三角形(要求打印出10行如下图)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
分析:寻找规律,下面参考程序利用的规律为某行的数字值为上一行的同一列的数字值和右边一位的累加和,第一列和斜边可直接赋值为1。
分析:稍微繁琐一点的数值比较。
分析:数组元素交换。
分析:还是数组元素交换处理。
分析:数组,循环。
分析:算实考察方法调用吧。。。
分析:注意int和double吧。
分析:compareTo方法的使用。
分析:还是递归的理解和使用。
分析:算是数学题吧。
分析:下面参考程序为简单粗暴的for循环。
分析:基本还是算考察素数。
分析:字符串直接通过+号连接。
分析:方法调用,for循环。
分析:下面参考程序使用了charAt()方法。
【程序48】
题目:输入一个整数后打印(金字塔):假如输入4打印如下:
1
121
12321
分析:找规律,注意空格即可。
【程序49】
题目:输入一个整数打印,假如输入4打印如下:
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
分析:找规律,注意走S型。
分析:最后这题涉及文件存储,输入输出流(非本人方法)。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/1916.html