我有一個文本文件,它看起來像這樣:如何將文本文件中的雙精度掃描到數組中?
蘋果
10.1 20 11 21.3 31 12.7 22 32.4 42 13
第一行是公司名稱,第二行代表股票價格。
我想掃描所有的雙打到一個數組,以便我可以執行計算。
這裏是我的代碼
public static void main(String[] args) throws FileNotFoundException {
Scanner keyboard = new Scanner(System.in);
System.out.println("Select A File");
String FileName = keyboard.next();
Scanner linReader = new Scanner(new File(FileName));
double[] values = new double[10];
while (linReader.hasNextLine()) {
linReader.nextLine(); // skips company name
String line = linReader.nextLine();
// store following doubles into array
int nums = 0; //
if (linReader.hasNextDouble()) {
values[nums] = linReader.nextDouble();
nums++;
}
}
linReader.close();
System.out.println(Arrays.toString(values)); //prints out array 'values'
}
我選擇的文件,然後我跳過第一行(其中包含公司名稱)。
然後,我初始化一個數字以跟蹤數組中的indeces。如果該行有另一個double,那麼它將被添加到索引'num'處的數組,並且'num'將增加1,這應該繼續,直到沒有更多的雙倍。
至少這是它背後的邏輯。但是輸出永遠是對
[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
我不知道爲什麼出現這種情況或如何修理它。
'line'有所有的價值。 – Li357