2016-02-04 49 views
0

我目前正在为我的Java课程开发一个单词搜索程序,并且我认为在开始之前我会对其他类似程序进行一些研究。 (见之前,我写我自己的版本,他们是如何工作的。)我已经过这个程序跌跌撞撞:通过Code Review如何在这段代码中实现@params文件类型?

Java Word Search Solver”的tmck-code,二月2015

它看起来非常写得很好,但我想不出如何为拼图和单词列表方法输入我的文件名。

例子:

/** 
* A method that loads a dictionary text file into a tree structure 
* @param filename The dictionary file to load 
* @return The Red-Black tree containing the dictionary 
*/ 
private static ArrayList<String> loadDict(String filename) { 
    ArrayList<String> dict = new ArrayList<String>(); 
    try { 

     BufferedReader in = new BufferedReader(
       new FileReader(filename)); 
     String word; 
     while((word = in.readLine()) != null) { 
      dict.add(word); 
     } 
    } catch(IOException e) { 
     System.err.println("A file error occurred: " + filename); 
     System.exit(1); 
    } 
    return dict; 
} 

凡在本次评选的代码我把我的文件名(wordlist.txt)?

+2

您只需**调用**此方法并提供一个参数。就像'List yourList = loadDict(“wordlist.txt”);' –

+0

我到底在哪里输入?我对Java有点新鲜,过去在方法学上遇到过一些问题。 – corvonik

回答

1

你不把它放在代码的任何地方。我读了一些代码在你的链接。您调用它时,文件的路径传递给程序。

如果通过控制台(例如,CMD.EXE)调用它,它应该以某种方式是这样的:

C:\Users\yourName> java WordSearch.java "/path/to/your/file.txt" 

你不把在代码本身的信息任何东西。您链接中的程序只使用控制台参数

+0

对不起,如果我很慢,但通过这个我假设你的意思是执行应用程序后输入到命令行,正确?我不相信该程序旨在接受命令行输入,但我可能显然不正确。编辑:我很抱歉,如果我使用不好的术语,我在学校的Java课程,仍然有很多要学习。 – corvonik

+0

我的意思是输入到命令行来执行它。这个程序专门设计用于执行命令行输入(请参阅'main'方法中的'args'变量)。据我所知,甚至无法在没有命令行输入的情况下运行程序。 –