gpt4 book ai didi

java - 在这种情况下(在 Java 中)如何用 foreach 替换 for 循环?

转载 作者:行者123 更新时间:2023-11-29 06:05:38 25 4
gpt4 key购买 nike

我在编写代码时遇到了这个问题。我如何在下面提到的代码中使用 for-each 来执行与下面显示的循环相同的内容(两个嵌套的 for 循环):

String names[3] = {"A","B","C"};
int result[][] = calculate_exchange(calculate_matrix());//function call returns a 3x3 matrix
/*for(int i[]:result){
for(int j:i){
if(j!=0){
System.out.println(names[]);//how do I use the i'th element?
//names[i] gives an error(obviously!!!)
}
}
}*/
for(int r=0;r<3;r++){//this loop works fine
for(int c=0;c<3;c++){
if(result[r][c]!=0){
System.out.println(names[r]+"->"+names[c]+" = "+result[r][c]);
}
}
}

for(int i[]:result) 使 i 成为一个数组,那么是否可以在其中使用 for-each案例?

PS:我的代码在没有使用 for-each 的情况下工作,我问这个只是为了满足我的好奇心。

最佳答案

来自Sun Java Docs :

那么什么时候应该使用 for-each 循环?

任何时候都可以。它确实美化了您的代码。不幸的是,您不能在任何地方使用它。例如,考虑 expurgate 方法。该程序需要访问迭代器才能删除当前元素。 for-each 循环隐藏了迭代器,因此您不能调用 remove。因此,for-each 循环不能用于过滤。同样,它不适用于需要在遍历列表或数组时替换元素的循环。

关于java - 在这种情况下(在 Java 中)如何用 foreach 替换 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629867/

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