2016-11-18 8 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私はそのデータを読み出すことができました。それを1行ずつ印刷します。しかし、私はSwift開発者です。このデータを配列や辞書に追加して処理するにはどうしたらいいですか? –

答えて

0

まず、個々の値をスキャンする必要があります。

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クラスを作成することになるでしょう:単純な実装のために、あなたはScannerクラスを使用する場合があります。 Java Tutorial on classesを参照してください。

次に、あなたは、例えばArrayList<Person>として、コレクションに各Personを追加します。

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

最後に、コレクションに対するループまたは集約データ計算を実行するためにストリームを使用します。

0

データを読み取ることができれば、計算に使用する際の問題を理解できません。その後

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

- -

は、uは通りの配列で上記のデータを読み取ると仮定あなたが立ち往生している

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

avgheight=totHeight/totEntry; 
関連する問題