ptal1-009 n个数求和c用java写
时间: 2025-07-06 07:57:42 浏览: 16
### 实现 n 个数求和功能
#### 方法一:使用 `for` 循环
可以利用简单的 `for` 循环来遍历并累加数组中的元素。这种方法直观易懂,适合初学者理解和掌握。
```java
public class SumOfNumbers {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5}; // 假设有这样一个整型数组
int sum = 0;
for (int i = 0; i < numbers.length; ++i){
sum += numbers[i];
}
System.out.println("Sum of elements is " + sum);
}
}
```
此段代码展示了如何定义一个名为 `numbers` 的整型数组,并初始化了一些数值用于测试目的[^1]。接着声明了一个变量 `sum` 来存储累积的结果,在 `for` 循环体内逐项相加以完成总和的计算过程。
#### 方法二:采用 Stream API
自 Java 8 起引入了强大的流处理机制——Stream API,这使得集合类的操作变得更加简洁高效。对于求数组内所有元素之和的任务来说,只需一行代码即可达成目标。
```java
import java.util.Arrays;
public class SumUsingStreams {
public static void main(String[] args) {
Integer[] nums = {1, 2, 3, 4, 5};
int result = Arrays.stream(nums).mapToInt(Integer::intValue).sum();
System.out.println(result);
}
}
```
这里先创建了一个包含若干整数的对象数组 `nums` ,之后借助于 `Arrays.stream()` 函数将其转换成 IntStream 流对象,再调用其内置方法 `.sum()` 完成最终求和工作。
#### 用户交互版本
考虑到实际应用场景可能涉及动态输入数据的情况,下面给出一段能够接收用户键盘输入多个数字并通过上述两种方式分别计算它们总和的例子:
```java
import java.util.Scanner;
public class UserInputSummation {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
System.out.print("请输入要相加的数量: ");
int count = scanner.nextInt();
double[] values = new double[count];
System.out.println("依次输入这些数:");
for (int i = 0; i < count; i++) {
values[i] = scanner.nextDouble();
}
// For loop method
double totalForLoop = 0D;
for (double value : values) {
totalForLoop += value;
}
// Using Streams
double totalWithStreams = Arrays.stream(values).sum();
System.out.printf("通过循环得到的结果:%f\n", totalForLoop);
System.out.printf("通过Stream API获得的结果:%f%n", totalWithStreams);
}
}
```
这段程序首先提示用户指定想要加入到求和序列里的项目数量,随后引导他们逐一录入具体数值至预先准备好的浮点型数组 `values` 中去。最后运用之前提到过的两种不同策略来进行总计操作,并打印出各自所得结果以便对比验证[^3]。
阅读全文
相关推荐


















