gpt4 book ai didi

java - 循环内循环迭代 6 次,但打印 9 次而不是 3 次

转载 作者:行者123 更新时间:2023-12-01 11:44:45 24 4
gpt4 key购买 nike

我正在使用 ant 来替换 url 中的值:

<property name="dir" value="dir1, dir2, dir3" />
<property name="files" values="file1, file2, file3" />

我想组合替换 url 中的值,例如 dir1、file1,然后是 dir2、file2,然后是 dir3、file3。我循环两次进行替换,但不是打印三次并替换所有值,而是替换并打印 6 次。

这是我的代码:

<target name="test">
<foreach param="dirval" in="${dir}">
<foreach param="filesval" in="${files}">
<sequential>
<echo message="Testing structure: ${dirval}/${filesval}" />
</sequential>
</foreach>
</foreach>

预期输出:

Testing structure: dir1/file1
Testing structure: dir2/file2
Testing structure: dir3/file3

但是得到了:

Testing structure: dir1/file1
Testing structure: dir1/file2
Testing structure: dir1/file3
Testing structure: dir2/file1
Testing structure: dir2/file2
Testing structure: dir2/file3
Testing structure: dir3/file1
Testing structure: dir3/file2
Testing structure: dir3/file3

最佳答案

出现此输出的原因是您处于每个 3 个元素的双 foreach 循环中,因此您循环并打印结果 9 次,而不是所需的 3 次。 (foreach 循环遍历 dir,3 次 * foreach 循环遍历文件,3 次)(如您在当前输出中看到的)

我不了解 Ant,但在 Java 中你想要完成的事情看起来像这样。 (获得所需的结构或输出)

仅使用一个循环:

string dir[] = {"dir1","dir2","dir3"};
string files[] = {"file1","file2","file3"};

for (int i = 0; i < dir.length, i++){
System.out.println("Testing structure: " + dir[i] + "/" + file[i])
}

关于java - 循环内循环迭代 6 次,但打印 9 次而不是 3 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29242976/

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