2D配列board[5][5]を介して数独ボードを生成しようとしています。数独ボードには、固有の母音のみを含める必要があります。ただし、私はユニークな母音を一列に並べるだけにしました。列については、まだ重複しているようです。これまでに持っているコードを使用して、重複のない列を生成するにはどうすればよいですか?
一意の文字を連続して生成するためのコードは次のとおりです。
String [] vowels = {"A","E","I","O","U"};
String [][] board = new String [vowels.length][5];
public Actions(){
int rows = 5;
for(int row = 0;row<rows;row++){
ArrayList<String> tempVowels = new ArrayList<String>(Arrays.asList(vowels));
int numVowPerLine = (int)Math.floor(Math.random()*4);
for(int j = 0;j<numVowPerLine;j++){
do{
int pos = (int)Math.floor(Math.random()*5);
if(board[row][pos] == null){
int temp = (int)Math.floor(Math.random()*tempVowels.size());
board[row][pos] = tempVowels.get(temp);
tempVowels.remove(temp);
break;
}
}while(true);
}
}
クレジット:L7ColWinters