0
public void fill(ArrayList<String> a1) {
int i = 0;
while (i < a1.size()) {
if (i == 0) {
for (int j = 0; j < a1.get(i).length(); j++)
crossword[ROWS/2][(COLUMNS/4) + j] = a1.get(i)
.charAt(j);
i++;
}
if (i == 1) {
outerloop: for (int t = 0; t < ROWS; t++)
for (int s = 0; s < COLUMNS; s++)
for (int j = 0; j < a1.get(i).length(); j++)
if (crossword[t][s] == a1.get(i).charAt(j)) {
for (int z = 0; z < j; z++)
crossword[t - z - 1][s] = a1.get(i).charAt(
z);
for (int h = j + 1; h < a1.get(i).length(); h++)
crossword[t + h - j][s] = a1.get(i).charAt(
h);
crossword[t][s] = a1.get(i).charAt(j);
break outerloop;
}
i++;
}
}
}
以上是我的方法,使字串列表的前兩個單詞在縱橫棋盤上相互交叉。我的問題是這部分:在陣列中間正向打印字母的二維數組
for (int z = 0; z < j; z++)
crossword[t - z - 1][s] = a1.get(i).charAt(z);
它採用交叉點前的字母並將它們向後打印在交叉點行的上方。我的大腦現在有很多不同的東西,我似乎無法理解如何使字母按照正確的順序排列。我不能附加圖像來顯示我的問題,但例如,在字母「o」處與垂直單詞「clowning」相交的垂直單詞「投擲」在o之前打印出「rht」(當它應該打印出來時「 THR「)。有人可以幫忙嗎?將不勝感激!
'對(INT z = 0的; Z置於
user1055678
把答案放在答案部分,並將其標記爲正確的。 –