为什么我没有得到正确的输出?
Why am I not getting the right output?
我正在尝试计算数组中的反转次数。我得到的结果是 3,而它应该是 4。这是我的代码。
int[] array1 = new int[5];
array1[0] = 3;
array1[1] = 7;
array1[2] = 10;
array1[3] = 6;
array1[4] = 4;
int count = 0;
for(int i =0;i<array1.length;i++){
for(int j =i+1;j<array1.length;j++){
if(array1[i]> array1[j] ){
count++;
}
}
}
System.out.println(count);
有人知道为什么要这样做吗?谢谢
i++
和 j++
索引增量不应在 for
循环体中重复,因为它们已经存在于 for
循环的同一行中条件。
删除 j++ 和 i++。同样将j的初始位置改为i+1,而不是0.
int[] array1 = new int[5];
array1[0] = 3;
array1[1] = 7;
array1[2] = 10;
array1[3] = 6;
array1[4] = 4;
int count = 0;
for(int i =0;i<array1.length;i++){
for(int j=i+1;j<array1.length;j++){
if(array1[i]> array1[j] ){
count++;
}
}
}
System.out.println(count);
我正在尝试计算数组中的反转次数。我得到的结果是 3,而它应该是 4。这是我的代码。
int[] array1 = new int[5];
array1[0] = 3;
array1[1] = 7;
array1[2] = 10;
array1[3] = 6;
array1[4] = 4;
int count = 0;
for(int i =0;i<array1.length;i++){
for(int j =i+1;j<array1.length;j++){
if(array1[i]> array1[j] ){
count++;
}
}
}
System.out.println(count);
有人知道为什么要这样做吗?谢谢
i++
和 j++
索引增量不应在 for
循环体中重复,因为它们已经存在于 for
循环的同一行中条件。
删除 j++ 和 i++。同样将j的初始位置改为i+1,而不是0.
int[] array1 = new int[5];
array1[0] = 3;
array1[1] = 7;
array1[2] = 10;
array1[3] = 6;
array1[4] = 4;
int count = 0;
for(int i =0;i<array1.length;i++){
for(int j=i+1;j<array1.length;j++){
if(array1[i]> array1[j] ){
count++;
}
}
}
System.out.println(count);