-1

配列内の反転の数を数えようとしています。4 になるはずの結果が 3 になっています。これが私のコードです。

 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);

なぜこれを行うのか誰にも分かりますか?ありがとう

4

2 に答える 2

0

j++ と i++ を削除します。また、j の初期位置を 0 ではなく i+1 に変更します。

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);
于 2015-11-08T22:39:05.967 に答える