我正在搞亂二維數組,並試圖構建一個程序,將字符串放入二維字符數組中,並用隨機字母填充剩餘的空格。我可以盡全力用隨機字符填充數組,但我無法弄清楚如何將字符串存入char數組。這就是我正在考慮以僞代碼解決問題的原因,因爲我無法正確理解這一點。Java:將字符串添加到多維字符數組中
我救了串到名爲
words
一個ArrayList(已編碼的這部分)。我想去通過每個元素在ArrayList和比較每一個與空間的char數組中可用
確定它不會去出界,如果添加的長度,並將這些「座標」保存到另一個ArrayList中。
然後,使用這些座標,我會將這些單詞逐個轉換爲字符,並用它們替換已經在數組中的隨機字符。
這一切對我來說很有意義,我的頭和寫下來(請讓我現在如果事實並非如此),但問題是我不知道如何真正落實「決定在那裏贏得」超越界限「的一部分。具體而言,我不知道如何真正確定數組中的哪些空間太靠近「邊緣」,以便我添加單詞而不會超出界限。
我真的很感謝任何幫助,並對文本牆感到抱歉。謝謝!
編輯:這是我到目前爲止的代碼。正如我之前提到的,我沒有添加我以上面僞代碼寫的部分,因爲我不知道如何。
import java.util.Scanner;
import java.util.ArrayList;
public class BuildArray
{
private char [][]arrayBoard;
private int row, col;
private String inWord;
ArrayList<String> words = new ArrayList<String>();
public void build()
{
Scanner input = new Scanner(System.in); //takes in user input
System.out.println("How many rows?");
row = input.nextInt();
System.out.println("How many columns?");
col = input.nextInt();
input.nextLine();
do{
System.out.println("Add a word to array (quit to stop) >");
inWord = input.nextLine();
if(!inWord.equals("quit"))
{
words.add(inWord);
}
}while(!inWord.equals("quit"));
fillArray();
}
public void fillArray()
{
arrayBoard = new char[row][col];
for(int rows = 0; rows < board.length; rows++)
{
for(int cols = 0; cols < board[rows].length; cols++)
{
arrayBoard[rows][cols] = randomChar();
}
}
}
public char randomChar()
{
char alphabet[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
'y', 'z'};
return alphabet[(char)(alphabet.length * Math.random())];
}
}
你可以發佈一個輸入字符串在解析前後應該是什麼樣子的例子嗎? ** board **變量是什麼? –