我必須製作這個程序,它會讓一個12乘12的數組填充不同的字母,然後製造一種疾病,傳播到同一個字母的附近單元格中(它會隨機的放置在陣列中)。到目前爲止,我已經成功地爲陣列和疾病製作了一個類(選擇一個隨機的字符病變),但我不明白如何讓它看到附近的細胞。此外,在疾病中,用戶可以選擇多少個不同的字母(2-4)。到目前爲止,我已經做:讓一些東西在一個數組中移動
import java.util.Random;
public class Disease {
public char D ;
Random r = new Random();
public void forTwo() {
Random r = new Random();
D = (char)(r.nextInt(2) + 'E');
}
public void forThree() {
Random r = new Random();
D = (char)(r.nextInt(3) + 'E');
}
public void forFour() {
Random r = new Random();
D = (char)(r.nextInt(4) + 'E');
}
}
和數組:
import java.util.Arrays;
import java.util.Random;
public class PlayingArea {
private String letters;
public char[][] grid;
public PlayingArea(String letters) {
this.letters = letters;
}
public void populate() {
int n = letters.length();
grid = new char[12][12];
Random r = new Random();
for (int j = 0; j < grid.length; j++) {
for (int i = 0; i < grid.length; i++) {
grid[i][j] = letters.charAt(r.nextInt(n));
}
}
}
public String gridAsString() {
StringBuilder sb = new StringBuilder();
for (char[] letterRow : grid) {
sb.append(Arrays.toString(letterRow)).append('\n');
}
return sb.toString();
}
}
歡迎來到SO! :)你可以分享你迄今爲止做了什麼嗎? – Roman
這個問題可能不夠具體。假設你已經知道如何訪問數組元素,那麼不僅僅是「讓單元格看到附近單元格的一種方法」。請嘗試一下,如果您遇到代碼問題,我們很樂意提供幫助。 – Zong
如果字符在'arr [row] [col]',那麼它可以看到'arr [row-1] [col]','arr [row + 1] [col]','arr [row] [ col-1]'和'arr [row] [col + 1]',除非這些元素在數組之外。你是這個意思嗎? –