-1

こんにちは、私は Java の初心者で、単語検索パズル プログラムの作成に苦労しています。ユーザーに単語の ArrayList を入力してもらい、パズルに入力できるようにしようとしていますが、文字列の配列を入力するとエラーが発生し続けます。

 import java.io.* ;
import java.util.ArrayList ;
public class WordSearchPuzzle
{
    private char[][] puzzle ;
    private ArrayList<String> puzzleWords ;
    private int letterCount = 0 ;
    private int gridDimensions;

    public WordSearchPuzzle(ArrayList<String> userSpecifiedWords)
    {
        this.puzzleWords = userSpecifiedWords ;

    }

    private void createPuzzleGrid()
    {
        int i;
        for(i = 0; i < puzzleWords.size() ; i++){
            letterCount = puzzleWords.size() + letterCount ;
        }
        gridDimensions = letterCount * 2;
        puzzle = new char[gridDimensions][gridDimensions] ;
    }

    private void generateWordSearchPuzzle()
    {

    }

    public void fillPuzzle()
    {
        int i, j, r;
        for (i = 0; i < this.gridDimensions; i++)
            for (j = 0; j < this.gridDimensions; j++)
                if (puzzle[i][j] == ' ') {
                    r = (int) (Math.random() * letterCount);
                    puzzle[i][j] = letterCount.charAt(r);
        }
    }

    public void fill() 
    {
        int i, j, gridDimensions, r, c;
        boolean added;
        this.clear();
        for (i = 0; i < WordSearch.words.size(); i++) {
            ws = (WSWord) WordSearch.words.elementAt(i);
            row = (int) (Math.random() * this.rows);
            col = (int) (Math.random() * this.cols);
            added = false;
        }
4

3 に答える 3

0

パズルを文字列の配列と呼んでいる場合、そうではなく、char の 2 次元配列です。おそらくあなたが必要です

private String puzzle[];

残念ながら、指定されたコード例からは、正確に何が問題なのかが明確ではありません。

于 2012-04-10T10:46:44.137 に答える
0

= を使用して arraylist とその内容をコピーすることはできません: From a similar question: clone(): ArrayList.clone() 私は浅いコピーを行うと思いました

あなたのケースに適応:

this.puzzleWords = new ArrayList(userSpecifiedWords)
于 2012-04-10T10:47:43.557 に答える
0

puzzleWords を初期化します。

private ArrayList<String> puzzleWords = new ArrayList<String> ();
于 2012-04-10T10:47:45.883 に答える