Java编程题解析:从兔子问题到水仙花数
4星 · 超过85%的资源 需积分: 10 155 浏览量
更新于2024-07-22
4
收藏 949KB DOC 举报
"Java经典编程试题集合,包含40个示例,适合初学者和面试准备,涵盖了算法和基础编程技巧。"
这篇摘要提供的是关于Java编程的经典问题和解决方案,涉及了递归算法、素数判断以及特定数字类型的识别。以下是这些知识点的详细解释:
1. **斐波那契数列**:程序1解决的问题是计算斐波那契数列的前20项。斐波那契数列是一个序列,其中每个数字是前两个数字的和,通常以0和1开始:0, 1, 1, 2, 3, 5, 8, 13, 21, ...。代码展示了两种实现方式:一种是直接在主类中递归计算,另一种是将递归函数封装到单独的类中。
```java
// 直接在主类中的递归方法
public static int f(int x) {
if (x == 1 || x == 2)
return 1;
else
return f(x - 1) + f(x - 2);
}
// 封装到单独类中的递归方法
class Math {
public int f(int x) {
if (x == 1 || x == 2)
return 1;
else
return f(x - 1) + f(x - 2);
}
}
```
2. **素数判断**:程序2的任务是找出101到200之间的所有素数。素数是大于1且只有1和其本身两个正因数的自然数。代码通过检查每个数是否能被2到其平方根之间的任何数整除来判断。如果存在整除的情况,那么该数不是素数。否则,它是素数。
```java
class Math {
public boolean isZhishu(int x) {
for (int i = 2; i <= x / 2; i++) {
if (x % i == 0)
return false;
}
return true;
}
}
```
3. **水仙花数**:程序3涉及到寻找“水仙花数”,这是一个三位数,其每一位数字的立方和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。代码会遍历100到999之间的所有数字,检查它们是否为水仙花数。
```java
public class Exp3 {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
if (isNarcissistic(i))
System.out.println(i);
}
}
public static boolean isNarcissistic(int num) {
int sum = 0;
int copyNum = num;
while (copyNum != 0) {
int digit = copyNum % 10;
sum += Math.pow(digit, 3);
copyNum /= 10;
}
return num == sum;
}
}
```
以上三个示例展示了Java基础编程技能,包括递归、循环、条件判断和数值操作。这些问题不仅适合初学者练习,也是面试中常见的编程题,帮助开发者提高逻辑思维和问题解决能力。
2012-06-19 上传
2023-04-18 上传
153 浏览量
2011-11-25 上传
2011-11-25 上传
2011-11-25 上传
乐古
- 粉丝: 22
- 资源: 5
最新资源
- 用于学习vue2、node、MySQL的自研项目.zip
- Python-with-machine-learning
- ufmt:格式化所有代码文件!
- LinhProfile
- 这个是很久之前自己学习MySQL所做的一些笔记.zip
- FLARE21nnUNetBaseline:FLARE21的基线nnUNet模型
- 抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java
- workshop-vue:WorkShop Vue,主要概念介绍
- white-helmets:在白头盔纸上复制RT Disinfo的代码
- Java SSM基于JavaEE的网上图书分享系统【优质毕业设计、课程设计项目分享】
- Panzer-Predicament:作者:安德鲁·李,克里斯托弗·敏和凯文·墨菲
- pantheon-helper:用于 Pantheon 服务的常用 Git 和 Drush 命令的 Bash 菜单
- 孤独聊天
- 源码主要用于学习:1. Spring Boot+Hadoop+Hive+Hbase实现数据基本操作,Hive数据源使.zip
- resr_rpwq.dll库文件
- Kapok 超简单的序列化库