这是代码:
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
前 5 个大于 15 的值 [I@4302a01f
而不是前 7 个值大于 9 [12, 15, 18, 21, 23, 19, 17]
前 5 个值大于 15 [18, 21, 23, 19, 17]
更新
好的,所以现在我得到:
前 7 个值大于 9 [0, 0, 0, 0, 0, 0, 17]
前 5 个大于 15 的值 [0, 0, 0, 0, 17]