gpt4 book ai didi

java - 嵌套循环内的计算错误

转载 作者:行者123 更新时间:2023-12-01 07:54:48 25 4
gpt4 key购买 nike

代码的目标是找到与targetNumber相加的数字。例如,如果 targetNumber = 9,则代码应获取加起来等于 targetNumber 的数字的前两个出现的索引。当我运行代码时,输​​出如下所示:

The indexes are 10 and 1

代码逻辑有什么问题?提前致谢!

public class TwoSum {

public static void main(String[] args){

int[] myArray = {1, 6, 43, 22, 4, 6, 4, 3, 8, 7, 3};
int targetNumber = 9;
int index1 = 0;;
int index2 = 0;

for(int i = 0; i < myArray.length; i++){
for(int j = 1; j < myArray.length; j++){
if(myArray[i] + myArray[j] == targetNumber){
index1 = i;
index2 = j;
break;
}
}
}
System.out.println("The indexes are " + index1 + " and " + index2);
}
}

最佳答案

当您中断时,您只会跳出内部循环,因此外部循环将继续,自然终止,而不是打印出 1 然后是 10,并导致打印出索引 10,然后是索引 1。

一个有趣的结果是,您的代码本质上是找到总和为 targetNumber最后对数字,而不是第一个。如果您使 for 循环向下计数而不是向上计数,则代码应该输出正确的值,尽管它不会非常有效......

关于java - 嵌套循环内的计算错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31600639/

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