Java初学者编程题集:斐波那契数列、素数、水仙花数

5星 · 超过95%的资源 需积分: 10 8 下载量 189 浏览量 更新于2024-09-13 收藏 9KB TXT 举报
"这个资源是针对Java初学者的编程题集合,包含了各种常见的编程题目及解答,旨在帮助新手理解Java编程的基本概念和应用。" 在Java编程的学习过程中,解决实际问题和练习编程题是至关重要的步骤。以下是部分题目及其解析,它们涵盖了不同的编程概念和技术: 1. 斐波那契数列:此题要求实现斐波那契数列的生成,其特点是每个数是前两个数的和。代码中的`for`循环和数组用于计算指定长度的斐波那契序列,并输出序列之和。 ```java // 主要知识点:数组、循环、斐波那契数列 int N = sc.nextInt(); // 读取序列长度 int[] a = new int[N]; // 创建数组存储斐波那契数列 a[0] = 1; a[1] = 1; // 初始化前两个数 int sum = 0; // 初始化序列和 for (int i = 0; i < N; i++) { if (i == 0 || i == 1) { sum = 1; } else { a[i] = a[i - 1] + a[i - 2]; // 计算当前数 } sum += a[i]; // 累加到序列和 } System.out.println(sum); // 输出序列和 ``` 2. 质数打印:这个程序用于找出101到200之间的所有质数。通过两层`for`循环实现,内层循环用于判断当前数是否为质数。如果能被其他数整除,就不是质数,跳出循环;否则,当内层循环结束,表示没有找到能整除的数,该数为质数,输出。 ```java // 主要知识点:循环、质数判断 int count = 0; System.out.println("100以内质数有:"); for (int i = 2; i <= 100; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) break; // 如果有因子,跳出循环 } if (j == i) { // 当j等于i,表示i是质数 System.out.print(i); } } ``` 3. 水仙花数:水仙花数是指一个三位数,其各位数字立方和等于它本身。代码通过三层嵌套循环,检查100到999之间的每个数,如果满足条件,就输出。 ```java // 主要知识点:循环、条件判断、数学运算 for (int n = 100; n < 999; n++) { int a = n / 100; int b = (n % 100) / 10; int c = n % 10; if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == n) { System.out.println(n); } } ``` 4. 数的因数分解:这道题要求找出一个数的所有因数,包括自身。首先,找到所有的因数k,然后分别输出k和n/k(n/k不等于k时)。这涉及到循环遍历和因数判断。 ```java // 主要知识点:循环、因数查找 int n = 90; // 示例数 System.out.println(n + "的因数有:"); for (int k = 1; k <= Math.sqrt(n); k++) { // 只需遍历到平方根 if (n % k == 0) { // 判断是否为因数 System.out.print(k); if (k != n / k) { // 避免重复输出 System.out.print(" " + n / k); } System.out.print(", "); } } ``` 这些题目涵盖了基础的数组操作、循环控制、条件判断、数学运算以及更复杂的算法,如质数判断和因数分解。通过解决这些题目,初学者可以逐步掌握Java编程的基本技巧,并提高问题解决能力。对于想要深入学习Java的初学者来说,这是一个很好的实践平台。