【发布时间】:2014-04-18 20:52:40
【问题描述】:
在我的计算机科学课上,我们遇到了一个我似乎无法解决的问题。问题如下。我们还必须使用洪水填充算法
创建一个程序来读取包含 15 x 15 网格的文本文件,该网格代表人体细胞。如果细胞是健康细胞,则用加号“+”表示,如果是癌性细胞,则用减号“-”表示。网格的外部行和列将仅包含加号“+”。”基本上会发生什么是您需要使用递归来检查 txt 文件中的每个项目,如果字符是“-”,那么您更改它到“”,如果字符为“+”,则将其保留为“+”。
这是我目前拥有的代码。到目前为止,我已经将文本文件放入 arraylist,然后创建了一个字符串数组。我不确定如何检查每个值以查看它们是否为“-”,因为一旦我能够做到这一点,递归应该相当简单。任何帮助将不胜感激!
public class Cancer {
public static void main(String[] args) throws IOException {
String[][] grid = new String[14][14];
BufferedReader in = new BufferedReader(new FileReader("location.txt"));
String str=null;
ArrayList<String> lines = new ArrayList<String>();
while((str = in.readLine()) != null){
lines.add(str);
}
String[] linesArray = lines.toArray(new String[lines.size()]);
}
}
【问题讨论】:
-
奇怪的问题。这种映射操作通常是迭代完成的。另外,文中的实际问题似乎与标题无关。
-
这不是递归适用的问题。你确定你被要求使用递归吗?
标签: java arrays recursion arraylist bufferedreader