私が理解していることから、あなたがやろうとしているのは、 の配列を取得しint
、並べ替えてから、 のインデックスを見つけることn > 9
です。
これを実現する最も簡単な方法は、Arrays.sort
最初に配列を並べ替えるために使用することです。次に、単純な for ループで最後のインデックスがどこにあるかを示します。その後、配列を 2 つに分割できます。最初の配列にはすべての値 <= 9 が含まれ、2 番目の配列にはすべて >9 の値が含まれます。
次に例を示します。
public static void main(String[] args) {
//Test data
int[] arrayOfInt = {11, 42, 24, 1, 8, 9, 10, 15, 8, 29, 9, 34 };
//Sort the array
Arrays.sort(arrayOfInt);
int index = 0;
//This will get you the index where the last number is <= 9
for (int i = 0; i < arrayOfInt.length; i++) {
if (arrayOfInt[i] <= 9)
index = i + 1;
}
//Now you know that from arrayOfInt[0] -> arrayOfInt[index] will be <= 9
//If you want to use them seperately, you can just split the array into two
int[] lessThanOrEqualToNine = Arrays.copyOfRange(arrayOfInt, 0, index);
int[] greaterThanNine = Arrays.copyOfRange(arrayOfInt, index, arrayOfInt.length);
System.out.println(Arrays.toString(lessThanOrEqualToNine));
System.out.println(Arrays.toString(greaterThanNine));
/* Prints the output:
* [1, 8, 8, 9, 9]
* [10, 11, 15, 24, 29, 34, 42]
*/
}