2014-06-23 53 views
1
public static int[] Separator1() { 
    for (int i = 0; i < numbersGenerated.length; i++) { 
     if (i % 2 == 0) { 
      numberSet1[i/2] = numbersGenerated[i]; 
     } 

    } 
    return numberSet1; 
} 

public static int[] Separator2() { 
    for (int i = 0; i < numbersGenerated.length; i++) { 
     if (i % 2 == 1) { 
      numberSet2[i/2] = numbersGenerated[i]; 
     } 

    } 
    return numberSet2; 
} 

在上面的代碼中,我可以成功地從偶數編號爲numberSet1生成索引,但是當我嘗試生成numberSet2索引時,我不能。我無法爲該數組生成索引的原因是因爲數字很奇怪。 [i/2]只是一個佔位符,因爲我不知道用什麼公式可以用來生成索引。如何將索引爲奇數的索引轉換爲索引{0,1,2,3,4,5}?

舉例Separator1numbersGenerated = {10,20,30,40,50,60,70,80,90,100};

numberSet1將返回{10,30,50,70,90}

我想numberSet2返回的{20,40,60,80,100}

值的值,我願意接受任何建議,因爲前面我其實是試圖用一個分隔符並從中返回2個值,我發現它不起作用。代碼只需要能夠將數組分成兩個獨特的數組,其中第一個數組的值相同。

謝謝你,你的時間:d

+0

爲什麼你想要翻譯這樣的素數? –

+0

這樣我就可以用'numbersGenerated'中剩下的其他值來創建另一個數組 例如:'numberSet2'將返回值爲{20,40,60,80,100}' – Rhendz

+1

這些數字中的任何一個「prime 「? –

回答

1

我相信你想放的數字從連索引到一個收集和編號爲奇數的索引到一個單獨的集合。示例 - 從Seperator1返回索引0,2,4,6,...,索引1,3,5,7 ...從Seperator2返回。

這裏是基本邏輯。

public static int[] Separator1() { 
    for(int i = 0; i < numbersGenerated.length; i++) { 
     if (i % 2 == 0) { // Grabs even numbered indexes 
      numberSet1[i/2] = numbersGenerated[i]; // Places even numbered indexes 
     } 
    } 
    return numberSet1; 
} 

public static int[] Separator2() { 
    for (int i = 0; i < numbersGenerated.length; i++) { 
     if (i % 2 != 0) { // Odd numbered indexes 
      numberSet2[(i - 1)/2] = numbersGenerated[i]; // Places odd numbered indexes 
     } 
    } 
    return numberSet2; 
} 

(i - 1)/2例子:

For index 1 | ((1 - 1)/2) = 0 
For index 3 | ((3 - 1)/2) = 1 
For index 5 | ((5 - 1)/2) = 2 
.... 

你可能要考慮重命名方法類似getEvenIndexesgetOddIndexes在未來,以避免混亂。


側面說明:Java約定有方法的名稱以小寫字母 - 這將使它更容易爲其他人閱讀你的代碼。

0

我對此很新,我很樂意有人給我們解釋你爲什麼不工作。我認爲整數運算的i/2會舍入到最接近的整數。但試試這個吧。

public static int[] Separator2() { 
int counter = 0; 
for (int i = 0; i < numbersGenerated.length; i++) { 
    if (i % 2 == 1) { 
     numberSet2[counter] = numbersGenerated[i]; 
     counter++; 
    } 

} 
return numberSet2; 
相關問題