java实现求n!,在循环中不同位置加入break,continue进行观察。
时间: 2024-10-12 12:08:11 浏览: 22
在Java中,计算阶乘(n!)是一个常见的递归或循环练习,可以利用`for`循环结合`break`和`continue`来观察其影响。下面是一个简单的示例,展示了如何在循环的不同阶段使用这两个控制结构:
```java
public class Factorial {
public static void main(String[] args) {
int n = 5; // 可以改变这个值来观察不同n下的效果
long factorial = calculateFactorial(n);
System.out.printf("n! = %d\n", factorial);
// 使用循环并插入 break 和 continue
for (int i = 0; i < n; i++) {
if (i == 3) { // 当i等于3时,用 break 中断循环
System.out.println("Breaking the loop at i=" + i);
break;
} else if (i % 2 == 0) { // 如果i是偶数,用 continue 跳过当前迭代
System.out.println("Continuing to next iteration at i=" + i);
continue;
}
factorial *= i; // 计算阶乘
System.out.printf("Calculating %d * ", i);
}
System.out.println("Final result: " + factorial);
}
private static long calculateFactorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * calculateFactorial(n - 1);
}
}
}
```
在这个例子中,如果 `i=3`,程序会打印出“Breaking the loop at i=3”然后停止计算。如果 `i` 是偶数,则会打印出“Continuing to next iteration at i=<偶数>”,然后跳过乘法运算。
阅读全文