利用Java程序2、从键盘接受一个整数,从屏幕输出该整数的阶乘。(要求用递归和非递归两种方法实现)3、从键盘接受十个数,进行冒泡排序后在屏幕输出。
时间: 2024-12-25 14:31:09 浏览: 7
当然可以。
首先,我们来看如何利用Java通过递归和非递归的方式计算阶乘:
**递归实现阶乘:**
```java
public int factorialRecursive(int n) {
if (n == 0 || n == 1) { // 递归基本情况,0和1的阶乘都是1
return 1;
} else {
return n * factorialRecursive(n - 1); // 递归调用自身,n乘以n-1的阶乘
}
}
```
**非递归实现阶乘:**
```java
public int factorialIterative(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
```
接下来,我们将创建一个简单的冒泡排序算法来对输入的十个数进行排序:
**冒泡排序(非递归):**
```java
import java.util.Scanner;
public void bubbleSort(int[] numbers) {
Scanner input = new Scanner(System.in);
System.out.println("请输入十个数字:");
for (int i = 0; i < 10; i++) {
numbers[i] = input.nextInt();
}
boolean swapped;
for (int i = 0; i < numbers.length - 1; i++) {
swapped = false;
for (int j = 0; j < numbers.length - 1 - i; j++) {
if (numbers[j] > numbers[j + 1]) {
int temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
swapped = true;
}
}
if (!swapped) { // 如果一轮下来未发生交换,说明已经有序
break;
}
}
System.out.println("排序后的数组:");
for (int num : numbers) {
System.out.print(num + " ");
}
}
```
以上就是在Java中使用递归和非递归方式求阶乘以及对10个数进行冒泡排序的例子。你可以将它们分别放入主函数中运行。
阅读全文