用java语言代码做 5、编写一个方法sumArray(),计算数组中所有元素之和。在主方法中输入指定个学生的成绩保存在数组中,调用sumArray()方法计算学生的总分,并计算出平均分。 6、请使用递归的方式计算n的阶乘。
时间: 2024-10-10 17:02:27 浏览: 70
5. 编写一个计算数组元素总和及平均分的方法:
```java
import java.util.Scanner;
public class ArraySumAndAverage {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生人数:");
int studentsCount = scanner.nextInt();
int[] scores = new int[studentsCount];
// 输入每个学生的分数
for (int i = 0; i < studentsCount; i++) {
System.out.println("请输入第 " + (i+1) + " 位学生的分数:");
scores[i] = scanner.nextInt();
}
// 计算总分和平均分
int sum = sumArray(scores);
double average = (double) sum / studentsCount;
System.out.println("学生们的总分是: " + sum);
System.out.println("平均分是: " + average);
scanner.close();
}
public static int sumArray(int[] arr) {
return Arrays.stream(arr).sum();
}
}
```
在这个程序中,`sumArray()` 方法使用 Java 8 的 Stream API 来简化求和过程。
6. 使用递归计算阶乘:
```java
public class FactorialRecursion {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数 n: ");
int n = scanner.nextInt();
long factorial = calculateFactorial(n);
System.out.println("n! (n的阶乘) 等于: " + factorial);
scanner.close();
}
public static long calculateFactorial(int num) {
if (num == 0 || num == 1) {
return 1;
} else {
return num * calculateFactorial(num - 1);
}
}
}
```
这个程序定义了一个名为 `calculateFactorial()` 的递归函数,用于计算给定数字的阶乘。当 `num` 为 0 或 1 时,返回 1,这是递归的基础情况。否则,函数会调用自身并将结果乘以 `num`,直到达到基本情况为止。
阅读全文