Hy我有一個java初學者開始3周前,即時通訊有這個代碼的一些問題。從隨機數組中打印新的素數陣列?
在主要方法我有一個數組包含10個元素。 我已經做了幾種方法來喜歡
public static void println(int[] array)
------打印和陣列
public static boolean isPrime(int el)
-----------黃金測試。返回true或false
public static int countPrimes(int[] array)
---返回數組中素數的數量。
這是陣列
int[] array = new int{7,5,7,2,11,-4,5,,10,2}
有問題的方法IM是:
public static int[] primesInArray(int[] array)
{
int n = array.length;
int[] temp = new int[countPrimes(array)];
int j = 0;
for(int i = 0; i < n; i++)
{
if(isPrime(array[i]))
{
temp[j] = array[i];
j= j +1;
}
}
return temp;
}
它應該返回7號的數組這樣{7,5,7,2,11,5,2}
而是我得到的原始數組回。
我做錯了什麼。
我沒有看到你在哪裏使用臨時數組?這個條件「數組[i]%數組[i] == 1」將始終評價爲真。邏輯似乎有缺陷 – rkg 2010-10-05 17:24:11