2017-10-06 49 views
0
int[][] grid = new int[10][10]; 
for (int i = 0; i < 10; i++) { 
    for (int j = 0; j < 10; j++) { 
     // fill in 
    } 
} 

這就是我到目前爲止。我知道我需要添加Math.Random,然後設置X = 0和O = 1。我只是很迷茫和困惑。我絕不是一個好的Java編碼器,對我來說這太高級了。我需要使用一個嵌套for循環來顯示隨機生成X和O的10乘10網格

+0

你到達那裏。閱讀隨機doco,看看你是否可以生成一個零和一個序列。然後根據隨機值將'grid [i] [j]'設置爲'X'或'O'。 – dave

回答

1
char[][] grid = new char[10][10]; 
for (int i = 0; i < 10; i++) { 
    for (int j = 0; j < 10; j++) { 
     grid[i][j] = "XO".charAt((int)Math.round(Math.random())); 
    } 
} 

String#charAt()通過索引獲取字符。 (So 0返回X,1返回O)

Math.random()返回一個0到1之間的隨機Double,並用Math.round()將該數字四捨五入到最接近的整數。 (因此是0或1),這是用來給charAt()作爲參數。

您仍然需要將Math.round()的結果作爲int進行投射,因爲它會返回一個長整數。

+0

如果我們可以使用'java.util.Random'而不是強制依賴'Math.random',那麼imho'random.nextBoolean()? 「X」:「O」'可能看起來更好,在循環之前進行初始化。 –