0

オブジェクト (ランナー) の配列をファイルから読み込んでインスタンス化しようとしています。各人を説明する 6 つの異なる変数があります。各ランナーの個々の部分を維持しながら、これらのランナーのすべての同じ値を同じ要素内に格納する配列を作成する方法を見つけようとしています。

ファイルは次のようになります。

{1,Gebre Gebremariam,2:08:00,,Ethiopia,ETH
2,Emmanuel Mutai,2:06:28,,Kenya,KEN
3,Geoffrey Mutai,2:05:06,,Kenya,KEN
4,Tsegaye Kebede,2:07:14,,Ethiopia,ETH
6,Jaouad Gharib,2:08:26,,Morocco,MAR
7,Meb Keflezighi,2:09:13,CA,United States,USA
8,Mathew Kisorio,2:10:58,,Kenya,KEN
10,Viktor Rothlin,2:12:26,,Switzerland,SUI
11,Bobby Curtis,2:16:44,PA,United States,USA
12,Ed Moran,2:11:47,VA,United States,USA
14,Abdellah Falil,2:10:35,,Morocco,MAR
15,Juan Luis Barrios,2:14:10,,Mexico,MEX
18,Stephen Muzhingi,2:29:10,,Zimbabwe,ZIM}
4

2 に答える 2

1

Runner個々のランナーを構成する 6 つのフィールドのプロパティを持つクラスを作成し、ファイルをList<Runner>またはに読み込みますRunner[]

// if this is a CSV file
List<Runner> runners = new ArrayList<Runner>();
for (String[] line: csvLines){
   Runner r = new Runner();
   r.setName(line[0]);
   r.setAge(Integer.parseInt(line[1]);
   runners.add(r);
}
于 2013-01-25T02:04:13.547 に答える
0

以下は、Runner のインスタンスを ArrayList に追加します。文字列を解析して、適切なコンストラクター引数を提供することができます。

List<Runner> runners = new ArrayList<Runner>();

BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String currentLine;

for(int index = 0; (currentLine = bufferedReader.readLine()) != null; index++)
{
    runners.add(new Runner(currentLine));
}

bufferedReader.close();
于 2013-01-25T02:06:49.897 に答える