gpt4 book ai didi

java - 如何在 Java 中比较一个数组中的两个整数?

转载 作者:行者123 更新时间:2023-11-29 03:19:24 25 4
gpt4 key购买 nike

我是 Java 的初学者。我有一个整数数组:我想计算这个数组中有多少整数大于紧随其后的整数。所以首先我想查看索引 0 处的整数,并检查它是否大于索引 1 处的整数。然后我查看索引 1 处的整数,并检查它是否大于索引 2 处的整数。依此类推.

到目前为止,这是我得到的:

    int[] t = {1,5,6,4,3,10}; // create an array of integers
int sum = 0; //initialize sum at 0

for (int i=0; i<t.length-1; i++) {
for(int j = i+1; j<t.length; j++){
if (t[i]>t[j]){ //if i is bigger than j
sum += 1; //add 1 to sum
System.out.println(t[i]);
}
}

}
System.out.println(sum);

对于这个数组,总和应该是 2:6 大于 4,4 大于 3。问题是,代码返回 5。我尝试在 if 循环中打印 t[i] 以了解发生了什么on:它打印 5、5、6、6、4。在这种情况下,我不明白为什么 5 会大于 6。看起来它循环了不止一次,所以我显然在迭代中做错了什么。但我实在看不出问题出在哪里。所以,我的问题是:这里做错了什么?

最佳答案

这在单个 for 循环中更容易做到

for (int i=0; i<t.length-1; i++){
if (t[i]>t[i+1]){
sum +=1;
System.out.println(t[i]);
}
}

目前,您正在为每个值 i 将其与它之后的所有值进行比较,而不仅仅是下一个值。

关于java - 如何在 Java 中比较一个数组中的两个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24638623/

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