2012-12-19 241 views
-3

我想重構Netbeans中的一個大程序,我有點迷路。我從來沒有非常模塊化,但我正試圖通過實際學習如何做到這一點來糾正現在和未來。不幸的是,我無法將一些教程翻譯成我的一個程序野獸。所以我希望這裏有人能幫忙。目前,我正試圖分解一大堆代碼,它需要一個特定格式的文件並創建一個表格。我知道我需要創建一個類並使用它來創建表格對象,但我不確定如何。 我有一個主要的是得到了其中文件位於命令行輸入:類拋出異常

public class Print { 
    public static void main(String[] args) throws Exception { 
      // I know this part works 
    JSAP jsap = new JSAP(); 
    FlaggedOption opt3 = new FlaggedOption("cllmap") 
      .setRequired(true) 
      .setShortFlag('c') 
      .setLongFlag("call map"); 
    opt3.setHelp("Where is the flu, map file? Full path"); 
    jsap.registerParameter(opt3); 
    String cllmp = config.getString("map"); 

我沒有試圖引用任何我尚未作出,因爲我還沒有想出怎麼做是正確的新類的然而。 然後我嘗試將文件的位置發送到另一個類,以便其他類可以讀取文件並將其解析爲表格對象。

public class Reader extends Print { 
String inpt; 

public class FReader { 
    //reading in 
//throws exception error 
    FileInputStream fstream = new FileInputStream(cllmp); 
    DataInputStream in = new DataInputStream(fstream); 
    BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
    while ((inpt = br.readLine()) != null) { 
     if (!inpt.equals("Calls")) { 
      ... 

那麼,爲什麼我的FReader類拋出一個異常,如何讓它停止?我不能說public class FReader throws Exception{因爲我然後得到的錯誤:'{' expected相同,把它放在extends Fingerprint2之後。 我在這裏做錯了什麼?有什麼建議麼?

+0

你得到什麼異常(只是複製和粘貼in)和你的實際功能是什麼樣的(你已經切斷了參數列表和名稱),你是怎麼調用它的?你已經提供了一堆信息,但省去了最重要的部分.. –

+0

一個類*不能*拋出任何東西;只有方法可以。另外,語句(例如'while')只能*出現在方法中。我建議從教程/書開始。 – 2012-12-19 20:58:58

回答

2

代碼必須放在方法中,而不是直接放在類體中。該類稱爲Reader,所以它可能應該有一個read()方法,而且這種方法應該閱讀,並拋出IOException如果不能做到這一點:

public class Reader extends FingerPrint2 { 
    public String read() throws IOException { 
     // PUT YOUR CODE HERE 
    } 
}