2014-07-10 76 views
0

我有兩個都是3x3的二維數組。如何在兩個不同陣列的打印元素之間進行切換?

我想打印出邊界和空間之間是這樣的:

|  | 
|  | Note: 6 spaces " " per row/3 spaces " " per cell 
|  | 

這樣做我的思維過程是治療二維數組就像一個座標系,並分配外邊緣等於1表示打印邊框「|」爲邊界[] []。然後,我將爲每個單元分配3個空格[] []。然後,我會逐行排列,併爲border [] []和space [] []替代打印語句。

所以,一個接一個的排它會。

print left border -> print spaces -> don't print border -> print spaces -> print right border -> print spaces 

,或澄清多一點什麼我想做的事:

border[0][0] = 1 --> print left border "|" 
space[0][0] = 1 --> print space " " 
border[0][1] = 0 --> DO NOT print border "|" 
space[0][1] = 1 --> print space " " 
border[0][2] = 1 --> print border "|" 
space[0][2] = 1 --> print space " " 

所以,第一行是:

|  | 

等的每一行。


所以我的問題是:

如何從兩個不同陣列的打印元件之間交替?


我已經試過

int border[][] = new int[3][3]; 
    int space[][] = new int[3][3]; 

    for(int i=0;i<border.length; i++){ 
     for(int j=0; j<space.length;j++){ 
      //Assigning Left and Right borders 
      border[0][j] = 1; 
      border[border.length-1][j] = 1; 
      //Assigning spaces for every cell 
      space[i][j] = 1; 

      //Printing???? 
      if(border[i][j] == 1){ 
       System.out.print("|"); 
      } 

      if(space[i][j] == 1){ 
       System.out.print(" "); 
      } 

     } 
     System.out.println(); 
    } 

但這打印出

| | | 

| | | 
+0

你是說像一個'if'聲明 – RossBille

+0

我我不清楚這一點。你正在存儲邊界?是不是像儲存甜甜圈孔?我不是故意要聰明,我不明白爲什麼你只會存儲空間(假設空間是「物質」)。 – aliteralmind

+0

這是更大問題的一部分。基本上,我正在嘗試製作一個網格。 – user3718441

回答

0

我想我理解你。有你錯過,像別的塊的幾件事情,我建議你在下面仔細查看我的意見,

int border[][] = new int[3][3]; 
int space[][] = new int[3][3]; 
for (int[] b : border) { // <-- lets first create border arrays 
    b[0] = b[2] = 1;  // <-- combine the 1s. 
    b[1] = 0;    
} 
for (int[] s : space) { // <-- now space arrays 
    s[0] = s[1] = s[2] = 1; // <-- combine the 1s. 
} 
// Now border and space are setup 
for (int i = 0; i < border.length; i++) { 
    for (int j = 0; j < border[0].length; j++) { 
    if(border[i][j] == 1) { 
     System.out.print("|"); 
    } else { // <-- You need an else block 
     System.out.print(" ");   
    } 
    if(space[i][j] == 1){ // <-- space is pointless. This is always true. 
     System.out.print(" "); 
    } 
    } 
    System.out.println(); // <-- new line. 
} 

輸出爲您所要求的

|  | 
|  | 
|  | 
相關問題