2014-02-08 66 views
0

我想返回該方法的值,但循環拋出錯誤,因爲返回必須在方法體中不在循環中。我正在使用system.out.println,它是有效的,但我想用return來代替。使用return內部循環和方法

package AnimeAid; 

import java.io.*; 
import java.nio.charset.Charset; 
import java.nio.file.Files; 
import java.nio.file.Path; 
import java.nio.file.Paths; 

public class ReadFile { 


    public void getFileInformation() throws IOException { 
     try{ 
      String file; 
      file = "tra.srt"; 
      Charset charset = Charset.defaultCharset(); 
      Path path = Paths.get(file); 
      BufferedReader reader = Files.newBufferedReader(path, charset); 
      System.out.printf("Lines from %s:%n",file); 
      String line; 

      while((line = reader.readLine()) != null) { 
       if (line.indexOf(':') != -1 && line.indexOf(',') != -1 && line.indexOf('0') != -1) { 
        System.out.println(line.substring(0, 12)); 
       } 
      } 
     }catch(FileNotFoundException ex){ 
      System.err.println(ex); 
     } 

    } 
} 
+0

請描述你用這段代碼試圖做什麼。 –

+0

好吧,我會給我一些時間 –

+0

你可以看看我改變了它全部 –

回答

1

您顯然可以從for循環返回。

public String getFileInformation() throws IOException { 
try{ 
    String file; 
    file = "tra.srt"; 
    Charset charset = Charset.defaultCharset(); 
    Path path = Paths.get(file); 
    BufferedReader reader = Files.newBufferedReader(path, charset); 
    System.out.printf("Lines from %s:%n",file); 
    String line; 

    while((line = reader.readLine()) != null) { 
    if (line.indexOf(':') != -1 && line.indexOf(',') != -1 && line.indexOf('0') != -1) { 
    return line.substring(0, 12); 
    } 
    } 
    }catch(FileNotFoundException ex){ 
    System.err.println(ex); 
    } 

    return ""; 
} 
+0

退貨是不是用於打印的權利?所以什麼都不會出現? –

+0

但你說你想要返回值? –

+0

這是正確的我設置你的答案爲正確的答案,但我問的是返回功能 –