爪哇 11.6
我有一个大小为 8 的向量,根据用户输入的 1 到 8 之间的数字,我的代码将随机生成值以放置在名为 vec_1 的向量中。
因此,例如,输出看起来像
Enter the number of trials:
>> 4
Trials Random Value
1 10
2 20
3 0
4 60
Run Code Online (Sandbox Code Playgroud)
值 <10,20,0,60> 保存在名为 vec_1 的向量中,然后我使用
Enumeration enu = vec_tor.elements();
while(enu.hasMoreElements()) {
for (int i = 1; i<=4; i++) {
System.out.printf("\n " + String.valueOf(i));
System.out.printf(" " + String.valueOf(enu.nextElement()));
}
}
Run Code Online (Sandbox Code Playgroud)
并排打印出向量中的元素。我想将向量中的所有数字加在一起得到一个总和,所以 10+20+0+60 = 90。我想在添加向量的每个元素后打印“总和:90”。我不确定如何在 java 中为向量逐个元素添加元素,我尝试查找其他问题,但它们主要与数组有关。任何帮助表示赞赏。谢谢!
使用 Java Streams API:
int sum = test.stream()
.mapToInt(Integer::valueOf) // or .map(i -> i)
.sum();
Run Code Online (Sandbox Code Playgroud)
解释:
test是一个Vector<Integer>。java.util.Collection实现的类必须实现该stream方法。这使程序员能够使用 Stream API。Vector也实现Collection.mapToInt是一种方法,它使从流中提取的所有元素都映射到原语int。这由IntStream类表示。我们通过执行(通过自动拆箱)或通过映射Integer到相应的。inti -> iInteger::valueOfIntStream实现了一个sum()方法,这正是我们所需要的。