2016-11-18 17 views
-1

我有一個.txt文檔以及關於它們的名稱和信息列表。 我想讀取.txt文檔並有權訪問數據,然後我想使用數據中的信息來計算平均值,最高值和最低值。 這是.txt文檔中的信息。Java:讀取.txt文檔並可以訪問數據

First Name, Surname, Age, Weight, Height 
Tim, Simon, 37, 82, 178 
barry, White, 21, 70, 176 
Jason, Brink, 19, 67, 165 
Caren, Dick, 22, 105, 200 
Jackson, Michael, 81, 60, 170 
Jerry, Springton, 6, 20, 111 

我希望能夠根據這些數據計算平均值。 以下是我如何讀取數據。

public static void main(String[] args) { 

    File file = new File("/Users/Len/Desktop/TextReader/src/example.txt"); 

    try { 
     Scanner input = new Scanner(file); 
     while (input.hasNext()) { 
     String num = input.nextLine(); 
     System.out.println(num); 
     } 


    } catch (FileNotFoundException e) { 
     System.err.format("File Does Not Exist\n"); 
    } 
} 
+0

你在哪裏卡住了? –

+0

@ModusTollens我設法讀出數據。逐行打印出來。但我是Swift開發人員,如何將這些數據添加到數組或字典中來處理它? –

回答

0

首先,您需要掃描各個值。對於一個簡單的實現,您可以使用Scanner類:

String input = "Tim, Simon, 37, 82, 178"; 
Scanner s = new Scanner(input).useDelimiter(", "); 
System.out.println(s.next()); 
System.out.println(s.next()); 
System.out.println(s.nextInt()); 
System.out.println(s.nextInt()); 
System.out.println(s.nextInt()); 
s.close(); 

接下來,您將要創建一個Person類來保存每個人的所有數據。請參閱Java Tutorial on classes

接下來,將每個Person添加到集合,諸如ArrayList<Person>例如:

List<Person> data = new ArrayList<>(); 
data.add(new Person(firstname, surname, age, weight, height)); 

最後,您將遍歷集合或使用流來執行聚集數據計算。

0

如果你可以讀取數據,那麼我不明白在使用它進行計算的問題。

fName[] 
lName[] 
age[] 
widht[] 
height[] 

然後 - -

假設ü在數組作爲讀取上面的數據

totHeight=0; 
for(int height: height) 
totHeight+=height; 

avgheight=totHeight/totEntry;