テキスト(file.txt)ファイルがあります。このファイルはスキャナー内にロードされます。
ファイルにはさまざまな行があり、各行には2つのdoubleと1つの整数値がスペースで除算されています。
このような:
1.0 1.2 2
0.9 1.0 10
50.4 9.2 20
3つの配列を満たす必要があります。
各配列は列に対応します。何かのようなもの:
double[] x = {1.0,0.9,50.4}
double[] y = {1.2,1.0,9.2}
double[] z = {2,10,20}
私はこのコードを使用してこれを試みました:
double x[]= new double [3];
double y[]= new double [3];
double z[]= new double [3];
File f = new File(ClassLoader.getSystemResource(file.txt).toURI());
Scanner sc = new Scanner(f);
String aux;
for (int i=0;i<3;i++){
aux = sc.next();
x[i] = Double.parseDouble(aux);
aux = sc.next();
y[i] = Double.parseDouble(aux);
aux = sc.next();
z[i] = Double.parseDouble(aux);
}
しかし、最初のDouble.ParseDouble()の場合、「NumberFormatException」が発生します。
デバッグを実行しましたが、変数auxの値はdouble(1.0など)であるため、Double.parseDouble(aux)が機能するはずです。
奇妙なのは、(例外が起動されたときに)「aux」が「1.0」のようなものであると言っていることです(前に「」が付いています)
'、、、またはのように、すべてのシンボルを削除する方法はありますか?または「bom」(「特別なスペース」など)など?つまり、ファイルの「非表示」シンボルのリストがわからないため、可能なシンボルの完全なリストを指定する必要はありません(つまり、ファイルの編集時に表示されないシンボル)。
ヒントありがとうございます。