2016-01-17 204 views
0

如何返回主方法並再次執行整個程序?我嘗試了回報,但它只是結束執行。返回到java中的主要方法

這是代碼:

File folder = new File("C:\my path"); 
    File[] listOfFiles = folder.listFiles(); 

     if (folder.isDirectory()){ 
      if(folder.list().length>0){ 
       System.out.println("Directory is not empty!"); 

      } 
      else { 
       System.out.println("Directory is empty!"); 
       return; //I need to return from the main method 
      } 
     } 
     else{ 
      System.out.println("Invalid directory!"); 
     } 

我要返回到主方法,如果目錄爲空。我使用了回報,但它並沒有從開始返回:(任何想法如何返回到主要方法?謝謝:)

這是整個主要方法:(對不起,如果它太長) enter image description here

enter image description here

enter image description here

我的目標是檢查是否有新的文件進入目錄。然後它會列出該目錄中的文件,並逐個將其刪除。如果目錄中沒有文件,它將返回到開始。

評論校正:「//它將返回到開始」

的兩個環:第二環路將所述第一循環的執行期間被執行。 (對不起,如果我沒有縮進它)。第二個循環執行後,它將返回到第一個循環。 enter image description here

+1

你的問題現在無法解決。你能否包括上面的代碼片段出現的方法?它是你的'main()'方法還是別的嗎? –

+0

它是主要的方法。我也想知道是否要將它放在單獨的課程或方法中。但如果是在另一種方法,我怎麼能再次調用主要方法 – JustOnce

回答

1

這很難看,但我想你想退出循環使用return聲明不是這樣工作。如果你想退出一個循環,你必須使用break

這裏的解釋有點:Difference between Return and Break statements

而且因爲它是一個基本的編程知識,我建議你去通過一些Java教程第一。例如:http://www.tutorialspoint.com/java/inde

+0

是的我想退出循環,但它應該返回到第一個循環。我要編輯圖片,以便您可以輕鬆查看這兩個循環 – JustOnce

+1

如果您使用'break'而不是'return',則只要'o'變量爲true,第二個循環將結束並且程序將在第一個循環中繼續。看看我給你的鏈接 - 有一個很好的例子,說明'return'和'break'語句的作用 - 它應該有助於你理解。 –

+0

謝謝。對不起,如果我忘了那個。然而,我發現了一個新的問題,關於這個數組。也許,我會先解決這個問題 – JustOnce

0

傳統方法一直返回頂部主要方法,是拋出一個RuntimeException(或它的一個子類),它只被主方法捕獲。任何處理異常的異常處理程序必須在執行所需的任何操作後重新拋出此異常。

請注意,您的應用程序必須非常仔細地編寫以避免像打開的文件那樣泄露資源。

0

不要在主要方法中做所有事情。

public static void doPartOfSomething() { 
    ... 
} 

public static String doOtherPartOfSomething(String path) { 
    ... 
    return "aresult"; // Stop the execution of this method 
} 

請注意,第二個有一個參數,並返回一個結果是所謂的(這裏的String)

,然後從主的時候:你必須像其他聲明的方法提取代碼的一部分方法(或其他地方),你可以調用這段代碼幾次:

doPartOfSomething(); 
doPartOfSomething(); 
String result = doOtherPartOfSomething("/test"); 
... 

這樣做,你就可以執行一些代碼段,返回和停止的代碼的一部分,並繼續與其他呼叫進入調用方法。

我想你應該更多地瞭解java中的類,對象,方法和字段。

+0

謝謝你的建議:D對不起,我只是這個編程語言的新手,我有點急於構建這個。 – JustOnce