這裏的代碼:代碼被輸出陣列的位置,而不是在陣列本身
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
代替超過9 [12,15更大的第一個7個值,18,21,23,19,17]
第一5個值大於15 18,21,23,19,17]
UPDATE
確定,所以現在我得到:大於9
第一7個值[0,0,0,0,0,0,17]超過15 [0更大
第一5個值, 0,0,0,17]
每次找到元素時,都不能將'newNumArray'設置爲'new int []';你必須事先知道數組的長度。 – irrelephant