2017-04-24 37 views
-3
二維數組

您好到目前爲止,我想出了一個簡單的技術僅在我的數組處理Java中

int[][] myArray = new int[rows][cols]; 

for (int i = 1; i < rows; i+=2) 
    for (int j = 0; j < cols; j++)  
     myArray[i][j] = 1; 

下面操縱奇數行是我想要的輸出偉大的工程

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 

我現在需要讓我的二維數組與下面的這個樣式相匹配,但我在這樣做時遇到了麻煩。有什麼建議麼?

[3, 1, 0, 1, 0, 1, 0, 1, 0, 1, 3] 
[2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2] 
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] 
[2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2] 
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] 
[2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2] 
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] 
[2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2] 
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] 
[3, 1, 0, 1, 0, 1, 0, 1, 0, 1, 3] 
+0

填寫第一排和最後一排,然後在奇數行和奇數列寫0?從那裏填充甚至列將很容易。 –

回答

0

試試這個代碼:

int rows = 10, col = 11; 
int[][] myArray = new int[rows][col]; 

for (int i = 0; i < rows; i++){ 
    for (int j = 0; j < col; j++){ 
    if((i == 0 || i == rows - 1) && (j == 0 || j == col - 1)){ 
     myArray[i][j] = 3; 
    } 
    else if ((i + 1) % 2 == 1 || i == rows - 1){ 
     if((j + 1) % 2 == 0) 
     myArray[i][j] = 1; 
    } else{ 
     if((j + 1) % 2 == 1) 
     myArray[i][j] = 2; 
    } 
    } 
}