【发布时间】:2012-04-29 18:33:07
【问题描述】:
我对编程有点陌生,需要帮助执行递归方法。我有一个方法可以在二维数组中选择一个随机空间,然后我想检查空间是否空闲。如果空间是空闲的,我想要使用该空间,但如果不是,我想在二维数组中选择一个新的随机空间。谢谢
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, itemLength;
String item;
for (i = 0; i < puzzleWords.size(); i++) {
item = puzzleWords.get(i);
itemLength = item.length();
letterCount = letterCount + itemLength;
}
gridDimensions = letterCount * 2;
puzzle = new char[gridDimensions][gridDimensions] ;
}
private void generateWordSearchPuzzle()
{
}
public void firstSpace(String Word)
{
int row, column;
row = (int)(Math.random() * gridDimensions +1);
column = (int)(Math.random() * gridDimensions +1);
if(puzzle[row][column] != ' '){
firstSpace();
}
}
【问题讨论】:
-
你有什么问题?
-
这听起来不是一个问题,递归是一个很好的,甚至几乎是体面的解决方案。只需做一个while循环选择一个随机空间并检查它是否是空闲的。
-
有什么问题,你的退出条件是什么?你定义了你的界限吗?
-
编译时不断收到此错误:WordSearchPuzzle 类中的方法 firstSpace 无法应用于给定类型;必需:java.lang.String 找到:无参数原因:实际参数列表和形式参数列表的长度不同
-
感谢 mads 的建议,我已经有循环来检查我的位置是否有剩余空间Word 方法
标签: java recursion arraylist multidimensional-array