執行NetBeans:
先開一個新的專案:
選Java Application,按Next:
取名字(e.g. HW1),設定專案目錄,不要自動產生Main Class:
新增一個java source檔:
取Class名字:
開始編輯WeightedQuickUF.java:
- 先到課程網頁去 (http://algs4.cs.princeton.edu/code/)
- 找到WeightedQuickUnionUF.java
- 可直接將程式碼copy and paste到你自己的WeightedQuickUF.java
複製完之後,你會發現大部分的程式碼都沒問題,只有main function中出現一些錯誤警告
這些錯誤的原因是因為作者使用了一些自己寫的libraries,因此,你會需要兩個作者寫好的library檔:
- stdlib.jar
- algs4.jar
先將它們下載到你的電腦上,再從NetBeans中將它們放進你的HW1 project中:
增加library路徑:
過程中要選擇你剛剛存好的*.jar檔:
弄好之後,基本上程式就可以執行了。
但我們要稍微修改一下程式,讓它可以從檔案讀入資料,而不是等待你在執行視窗中一一敲入:
此外,你還需要解決另一個問題,才能順利地使用NetBeans IDE進行執行和除錯。
因為剛剛加進來的libraries當中也剛好有WeightedQuickUnionUF,以至於debuging的時候,事先compiled好的WeightedQuickUnionUF反而被優先使用。因此請大家在class的命名時,加上My來區隔。
class更名的方法:請先將檔案中的WeightedQuickUnionUF反白,然後點選Refactor -> Rename,修改成MyWeightedQuickUnionUF,再按下Refactor,就能將檔案中該修改的地方修改掉:
除了修改class名稱之外,還有另一個解決方法,就是告訴NetBeans要優先使用我們自己寫的class,如:
大家可以試試看。
最後,為了能從指令列將檔名傳進去,請到Properties去設定專案的執行環境,提供程式所需的參數,也就是輸入檔的檔名,這裡也可以設定工作目錄,也就是放輸入檔的地方:
測試資料可從ceiba的作業區HW1中下載。
最後,請依規定繳交*.java檔到批改系統。
如果,未來有機會要與別人分享你編譯好的檔案的話(如*.jar檔),可考慮build project的時候,把*.java檔也一併包進來:
編譯好之後,*.jar檔(e.g. HW1.jar)會在你的專案中(e.g. HW1)的dist目錄中。拿到*.jar的人,不僅可以執行你的程式,也可以看到source code。