java - 循环遍历 ArrayList
问题描述
我正在尝试循环ArrayList
获取循环实例的当前值。
public ArrayList<Double> getCurrent(double x) {
ArrayList<Double> list = new ArrayList<>();
list.add(x);
ArrayList<Double> list1 = new ArrayList<>();
double sum = 0;
for (int i = 0; i < list.size(); i++) {
sum += list.get(i);
list1.add(sum);
}
return list1;
}
这是我的 JSP 文件。请注意,循环会遍历我的ArrayList
历史记录,而我想ArrayList
从方法中解析为新的值getCurrent(double x)
需要ret
.
<% for (history his : history) {
double ret = his.getRet();
double dep = his.getDeposit();
String res = his.getRes();
if (res.equals("Loss")) {
ret = -dep;
}
%>
<h1><%=his.getCurrent(ret) %></h1>
<%} %>
这给了我一个ArrayList
由正确的值组成的,但没有添加以前的值。现在ArrayList
显示:[30.0, -5.0, 20.0]
这是正确的值。但是,我希望它显示:[30, 25, 45]
因此这些值与所有以前的值相加。
解决方案
我相信您想要做的是将双精度值传递给该函数,然后该函数将返回带有计算值的列表。
每当调用该函数时,根据您的代码new Arraylist is declared every time
。因此,那里没有先前的值。如果您希望输出像您提到的那样declare the list outside the function
。一旦它在外面,就不需要一次又一次地声明它。它将保留所有先前的值,并且当您进行计算时,它将为您提供预期的输出。
推荐阅读
- php - 我可以从 wp.config 调用声明的变量并在自定义函数中的 functions.php 中重写她的值吗?
- powershell - 需要帮助获取 IP 地址列表以及每个 VM 的名称、状态、状态、操作系统版本、节点名称
- scheme - 何时在方案中使用反引号?
- reactjs - 模块构建失败:SyntaxError: Unexpected token on npm run build
- haskell - 用 Haskell Parsec 解析算术表达式
- go - 杜松子酒限制路线
- php - Wordpress 按帖子类型批量更新帖子内容
- python - 使用 keras 进行图像多分类
- angular - 如何在不模拟焦点事件的情况下触发 Clarity 表单验证?
- dfa - 将其从 NFA 转换为 DFA