【Java初学者基本习题50道】是一个适合Java初学者练习编程技能的集合,包含了基础的算法和逻辑思维题目。这些习题旨在帮助学习者巩固语法知识,提高解决问题的能力。
1. **兔子问题**(斐波那契数列):
这是一道关于斐波那契数列的问题,要求计算兔子繁殖的总数。斐波那契数列的规律是每个数等于前两个数的和。在Java中,可以使用循环或递归来实现。
2. **素数判断**:
判断101到200之间有多少个素数。素数是只有1和本身两个正因数的自然数。通过遍历范围内的每个数,判断能否被2到sqrt(n)之间的任何数整除,如果能则不是素数,否则是素数。
3. **水仙花数**:
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。可以通过循环遍历100到999,分别提取百位、十位和个位的数字,计算立方和,判断是否等于原始数字。
4. **分解质因数**:
输入一个正整数,将其分解为质因数的乘积。这需要找到最小的质数k,然后不断用n除以k直到无法整除,将k输出并更新n。重复此过程直至n为1。
5. **条件运算符的嵌套**:
使用条件运算符`(条件)?表达式1:表达式2`根据条件输出A、B或C等级。这涉及条件判断和条件表达式的使用。
6. **最大公约数和最小公倍数**:
求两个正整数m和n的最大公约数(GCD)和最小公倍数(LCM)。GCD可以通过辗转相除法求解,LCM通常是两个数的乘积除以它们的GCD。
7. **字符统计**:
统计输入字符串中的英文字母、空格、数字和其他字符数量。使用while循环,根据ASCII码或Character类方法判断字符类型。
8. **连续数字相加**:
计算一个数字a连写多次相加的总和。关键是计算每次相加的值,可以通过字符串操作和循环来实现。
9. **完数**:
完数是等于其因子之和的数。遍历1到1000,检查每个数的因子之和是否等于自身。
10. **落体反弹问题**:
一个球从100米落下,每次反弹回原高度的一半。计算第十次落地时经过的总距离和第十次反弹的高度。这涉及到循环和数学计算。
11. **数字排列**:
组合数字1、2、3、4形成不同且无重复的三位数。使用循环和条件判断生成所有可能的组合。
12. **奖金提成**:
根据利润I计算奖金。根据利润的不同区间,采用不同的提成比例。这需要根据条件分支结构来实现。
13. **完全平方数**:
寻找一个整数,使得它加上100和168后分别是完全平方数。遍历10万以内的数,进行平方根判断。
14. **日期计算**:
输入年月日,判断这是当年的第几天。要考虑闰年,以及1月和2月的天数。
15. **整数排序**:
输入三个整数x、y、z,按从小到大排序。可以使用冒泡排序或其他排序算法。
16. **九九乘法表**:
输出9乘9乘法表。使用两层循环,分别控制行和列。
17. **猴子吃桃问题**:
猴子第一天吃掉一部分桃子,第二天吃掉剩余的三分之一,第三天再吃掉剩余的三分之一,如此反复。计算桃子吃完的天数,可以使用动态规划。
这些习题覆盖了变量、循环、条件判断、数组、函数、数据结构和算法等基础知识,对于提升Java编程能力有很大帮助。