2013-03-03 37 views
-5

我已經從文件讀取文本到數組中。我想在另一個類中遍歷該數組(以反轉數組並找到每個第5個元素)。在另一個類中使用此數組時遇到問題 - 此類無法看到數組。任何人都可以幫我嗎?將返回的數組用於其他操作

package iterators; 
import java.util.*; 
import java.io.*; 
import iterators.*; 

public class Dunno{ 
    int i = 1; 
    String[] something() throws IOException { 
     BufferedReader read = new BufferedReader(new FileReader("file.txt")); 
     StringBuilder sb = new StringBuilder(); 
     String text = read.readLine(); 
     while (text != null) { 
      sb.append(text); 
      sb.append("\n"); 
      text = read.readLine(); 
     } 
     String all = sb.toString(); 
     String film = all; 
     String znak = ","; 
     String[] tab; 
     tab = film.split(znak); 
     for (i = 0; i < tab.length; i++) { 
      System.out.println(tab[i]); 
     } 
     return tab; 
} 
} 

和二等車廂:

public class Dunno1{ 
    Dunno dunn=new Dunno(); 
    dunn.something(); 
    public String dunn(){ 
    //Iterate 
    } 
} 
+0

爲什麼在從文件中讀取每行之後追加新行時,使用逗號(,)分割?你不應該用「\ n」來分割嗎? – 2013-03-03 16:17:08

+1

你的第二堂課甚至沒有編譯。這是問題嗎?從編譯器或java獲得的確切完整的錯誤消息是什麼? – 2013-03-03 16:22:08

+0

預計」 我想在另一個類中使用返回的數組;第二類只是使用它的一個例子,但我不知道,如何調用這個數組。 – Jadea 2013-03-03 16:26:54

回答

0

在你的第二類,你要調用的類範圍內的第一類方法,你不是在方法或主要調用它。這裏是你應該怎麼做:

public class Dunno1 { 

    public static void main(String[] args) throws IOException { 
     Dunno1 d1 = new Dunno1(); 
     Dunno dunn = new Dunno(); 
     String[] d = dunn.something(); 
     d1.dunn(d); 
    } 

    public String dunn(String [] d) { 
     return null; 
     // Iterate 
    } 
} 

你需要建立你的第二類的對象,以及使你可以調用鄧恩方法,並通過它你得到的字符串數組從你的第一類(這就是爲什麼我的答案中的方法簽名是不同的)。

0
public class Dunno1{ 
    Dunno dunn=new Dunno(); 
    dunn.something(); 
    public String dunn(){ 
    //Iterate 
    } 
} 

以上不編譯,因爲你不能直接在類中執行指令。類必須包含字段聲明,構造函數和方法。但不是說明。

,下面這些編譯:

public class Dunno1{ 
    public void foo() { 
     Dunno dunn = new Dunno(); 
     String[] array = dunn.something(); 
     // iterate over the array. 
    } 
} 

這是真的,你應該通過閱讀一本Java書,或教程學習基本的東西。不要通過在StackOverflow上提出問題。

相關問題