2016-02-04 27 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'變量)。據我所知,甚至無法在沒有命令行輸入的情況下運行程序。 –