コードは次のとおりです。
import java.lang.System;
import java.lang.Math;
public class ArrayFunHouseTwo
{
public static int[] getCountValuesBiggerThanX(int[] numArray, int count, int x)
{
int[] newNumArray = new int[0];
//int num = 0;
int cnt = 0;
int z = 0;
for(int y = 0; y < numArray.length; y++){
if(numArray[y] > x && z < count){
newNumArray = new int[count];
newNumArray[z] = numArray[y];
z++;
}
}
//}
return newNumArray;
}
}
そしてそれは関連するランナークラスです:
import java.util.Arrays;
public class Lab14b
{
public static void main( String args[] )
{
int[] one = {1,2,3,4,5,6,7,8,9,10};
int[] two = {1,2,3,9,11,20,30};
//add more test cases
int[] three = {9,8,7,6,5,4,3,2,0,-2};
int[] four = {3,6,9,12,15,18,21,23,19,17,15,13,11,10,9,6,3,2,1,0};
System.out.println(Arrays.toString(four));
System.out.println("first 7 values greater than 9 " + ArrayFunHouseTwo.getCountValuesBiggerThanX(four, 7, 9));
System.out.println("first 5 values greater than 15 " + ArrayFunHouseTwo.getCountValuesBiggerThanX(four, 5, 15));
}
}
上で述べたように、それは場所を出力しているので、配列自体ではなく、それがそれであると思います。
つまり、次のようになります。最初の7つの値が9より大きい[I @ 38f0b51d
15より大きい最初の5つの値[I@4302a01f
9より大きい最初の7つの値の代わりに[12、15、18、21、23、19、17]
15より大きい最初の5つの値[18、21、23、19、17]
アップデート
わかりました、それで今私は得ています:
9より大きい最初の7つの値[0、0、0、0、0、0、17]
15より大きい最初の5つの値[0、0、0、0、17]