0

.txtファイルを3つのdouble配列に解析する必要があります。このファイルにはさまざまな行があります。各行には、スペースで分割された3つの整数があります。

例:

19.1    24.3    0
18.2    24.0    0
12.6    24.9    20
14.4    28.0    20

私の目標は、3つのdouble配列(、、および)を取得することxyありz、各配列には列が必要です。したがって、結果は次の手順を記述した場合と同じになります。

double[] x = {19.1,18.2,12.6,14.4};
double[] y = {24.3,24.0,24.9,28.0};
double[] z = {0,0,20,20};

私はファイルを開いて読み取る方法を知っています。次のようなものです。

String file = "filename.txt";
String line=null;
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
while(!(line=br.readLine()).contains("EOF")) {
  // read and process one line..
}

方法がわからないのは、現在の行の各番号を解析して、3つのベクトルの1つに割り当てる方法です。

4

1 に答える 1

2

次のように、各行を単純に分割して解析できます。

String[] row = line.split("\\s+");
double d1 = Double.parseDouble(row[0]);
double d2 = Double.parseDouble(row[1]);
double d3 = Double.parseDouble(row[2]);

また、行数が固定されていない場合は、 sの配列の代わりにArrayListsのsを使用する方が簡単で理にかなっています。Doubledouble

于 2012-05-28T17:11:06.783 に答える