gpt4 book ai didi

java - 跳过 for 循环中的元素并重新分配它

转载 作者:行者123 更新时间:2023-11-30 03:19:20 27 4
gpt4 key购买 nike

我正在 JasperSoft 中填写参数。在我的报告中我有参数:参数_1、参数_2、参数_3

int a; 
for (a = 0; a < headers.length; a++) {
parameters.put("Parameter_" + a, headers[a]);
}

我以这种方式填充参数并且它有效。现在我想添加一个新参数 Parameter_GroupBy,它由其索引确定(假设我希望 Parameter_2 成为 Parameter_GroupBy),所以我这样做了:

int a; 
for (a = 0; a < headers.length; a++) {
if (a == groupBy) {
parameters.put("Parameter_GroupBy", headers[groupBy]);
continue;
}
parameters.put("Parameter_" + a, headers[a]);
}

此代码的问题(假设 groupBy 值为 2)是 Parameter_2 为空,但我希望它具有 Parameter_3 的内容

例如

Parameter_1= name 
Parameter_2= date
Parameter_3= street

我通过第二个代码位得到了什么

Parameter_1 = name 
Parameter_2=
Parameter_GroupBy= date
Parameter_3= street

我想按日期分组(Parameter_2),所以我想要

Parameter_1 = name 
Parameter_2= street
Parameter_GroupBy= date
Parameter_3=

如何实现这一目标?使用 JDK 1.6 和 Windows。

最佳答案

在我看来,您只需要为“要放置的下一个参数”保留一个单独的索引即可:

int parameterIndex = 1;
// Note: more idiomatic to declare the iteration variable
// inside the loop
for (int headerIndex = 0; headerIndex < headers.length; headerIndex++) {
String header = headers[headerIndex];
if (headerIndex == groupBy) {
parameters.put("Parameter_GroupBy", header);
} else {
parameters.put("Parameter_" + parameterIndex, header);
parameterIndex++;
}
}

关于java - 跳过 for 循环中的元素并重新分配它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31719224/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com