本书精选了众多经典的Java编程练习题和算法问题,旨在帮助读者巩固基础知识、提高解决问题的能力,并为面试做准备。
根据给定文件中的标题、描述、标签以及部分内容,我们可以从中提炼出多个与Java编程相关的经典练习题和算法知识点。下面将对这些知识点进行详细的解析。
### 经典知识点概述
#### 1. 斐波那契数列
斐波那契数列是一个非常经典的数列,其中每个数字是前两个数字的和。例如:1, 1, 2, 3, 5, 8, 13, 21...
**代码实现:**
```java
import java.util.Scanner;
public class rabbit {
public static void main(String[] args) {
int number = 1;
int month;
int tmp1 = 1;
int tmp2 = 1;
Scanner sc = new Scanner(System.in);
System.out.println(请输入月份:);
month = sc.nextInt();
for (int i = 1; i <= month; i++) {
if (i <= 2)
number = 1;
else {
number = tmp1 + tmp2; // 当前值为前两个值之和
tmp2 = tmp1; // 更新第二个值
tmp1 = number; // 更新第一个值
}
System.out.println(i +月兔子数量: + number);
}
}
}
```
此程序实现了计算指定月份内斐波那契数列的值,可用于模拟兔子繁殖问题。
#### 2. 素数判断
素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。例如:2, 3, 5, 7, 11, 13...
**代码实现:**
```java
public class timu2 {
public static void main(String[] args) {
int sum = 0;
for (int i = 101; i <= 200; i++) {
for (int j = 2; j <= i; j++) {
if (i % j == 0 && i == j) {
sum++;
System.out.println(i);
} else if (i % j == 0 && i != j) {
break;
}
}
}
System.out.println(101到200之间共有 + sum +个素数);
}
}
```
该程序可以找出101到200之间的所有素数,并统计总数。
#### 3. 水仙花数
水仙花数是指一个三位数,它的每个位上的数字的立方和等于它本身。例如:153 = 1^3 + 5^3 + 3^3。
**代码实现:**
```java
public class timu3 {
public static void main(String[] args) {
int count = 0;
for (int i = 100; i < 1000; i++) {
int bai = i / 100; // 百位
int shi = (i / 10) % 10; // 十位
int ge = i % 10; // 个位
int sum = bai * bai * bai + shi * shi * shi + ge * ge * ge;
if (i == sum) {
System.out.println(i);
count++;
}
}
System.out.println(共有 + count +个水仙花数);
}
}
```
这段代码能够找到100至999之间的所有水仙花数,并统计其数量。
#### 4. 分解质因数
分解质因数是将一个合数写成几个质数相乘的形式。例如:90 = 2 × 3 × 3 × 5。
**代码实现:**
```java
import java.util.Scanner;
public class timu4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a, b;
int j = 0;
System.out.println(请输入一个正整数:);
a = sc.nextInt();
b = a; // 原始输入
int[] factors = new int[10];
for (int i = 2; a != 1;) {
if (a % i == 0) {
factors[j] = i;
j++;
a /= i;
} else {
i++;
}
}
System.out.print(b + =);
for (int i = 0; i < j; i++) {
System.out.print(factors[i]);
if (i < j - 1) {
System.out.print(*);
}
}
System.out.println();
}
}
```
此程序可以将用户输入的正整数分解为其质因数,并输出结果。
#### 5. 成绩等级划分
根据学生的成绩,将其划分为不同的等级。例如:90分以上为A,60-89分为B,60分以下为C。
**代码实现示例:**
```java