2014-11-02 82 views
0

如果我不清楚,我表示歉意。我是編程新手。所以我們可以說我有一個char[10][10]。有兩個+字符我想要間隔分配,例如i[0][0]i[5][7]Y,其餘的有N。如果可能的話,我該怎麼做?我一直試圖弄清楚6個小時以上。Java 2D陣列以不同的時間間隔分配不同的值

+0

嵌套的for循環與一對夫婦,如果塊什麼,你應該罰款。 – 2014-11-02 01:04:15

回答

0

一個可能的解決辦法是有一個「對」禁止通過行去和另一個人的「塊通過專欄。它可能類似於

char[] arr= {'Y','N'}; 
int counter = 0; // <- these are optional depending on what you choose below 
for(int j=0;j<10;j++){ 
    for(int k=0;k<10;k++){ 
     // i[j][k]= here you should assign the value 
     counter++; 
    } 
} 

分配值的方式取決於您想要執行的操作。如果你想讓它隨機生成,你可以做一些類似i[j][k]= arr[(int)(Math.random()*2)]的事情,或者如果你想讓它在Y和N之間交替,你可以有一個計數器變量,並分配i[j][k]= arr[counter%2]。如果您想將前半部分分配給'Y',將另一半分配給'N'i[j][k]= (counter<=50)?'Y':'N';。你如果問具體情況將i[j][k]= (j<=5 && k<=7)?'Y':'N';這實際上在很大程度上取決於你想要做

0

這可以用循環完成。

for(int i = 0; i < 5; i++){ 
    for(int j = 0; j < 7; j++){ 
     i[i][j] = 'N'; 
    } 
    for(int j = 7; j < 10; j++){ 
     i[i][j] = 'Y'; 
    } 
} 
for(int i = 5; i < 10; i++){ 
    for(int j = 0; j < 10; j++){ 
     i[i][j] = 'Y'; 
    } 
} 
+0

雖然答案是一個實際的答案。給出一點解釋是個好主意。這個問題確實表示「如果我不清楚,我表示歉意。我是編程新手' – ptierno 2014-11-02 01:28:11

+0

這是一個好點 - 我想如果是我,我寧願只看到一個簡單的例子。 – Alex 2014-11-03 18:25:01

-2

嘗試使用for-loops和if-else。既然你正在尋找的是/否類型的值,我只是用boolean類型在我的例子

boolean[][] arr = new boolean[10][10]; 
for(int i = 0; i < arr.length; i++) { 
    for(int j = 0; j < arr[i].length; j++) { 
     if(i < 6 && j < 8) 
      arr[i][j] = true; 
     else 
      arr[i][j] = false; 
    } 
} 
+0

它設置arr [5] [8] = false。 ARR [5] [9] = FALSE。 – 2014-11-02 01:11:31

+1

這個'for(int i:arr)'應該如何工作?該數組包含'boolean'而不是'int'。 – Tom 2014-11-02 01:15:33

0
char[][] theArray = new char[10][10] 
upToX = 5; // limit for rows 
upToY = 7; // limit for columns 

for(int i = 0; i < 10; i++){ 
    for(int j = 0; j< 10; j++){ 
     if((i+1)*(j+1) <= (upToX+1)*(upToY+1)){ 
     theArray[i][j] = 'Y'; 
     } 
     else{ 
     theArray[i][j] = 'N'; 
     } 
    } 
} 
相關問題