【发布时间】:2017-06-25 13:48:36
【问题描述】:
所以我的目标是读取一个文本文件,该文件是一个包含整数和字符串的数组,然后对一些数字进行一些计算,然后将原始数据与新计算的数据一起放入一个新的文本文件中。但是现在我被困在我似乎无法从文件中挑选出数字并将它们放入 ArrayList 的地方,除非我做错了。谢谢。
import java.util.*;
import java.io.*;
public class LAB02 {
public static void main(String[] args) throws FileNotFoundException {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
Scanner fileStockIn = new Scanner(new FileReader("Lab02Input.txt"));
PrintWriter reportFile = new PrintWriter("Lab02Report.txt");
ArrayList<Double> list = new ArrayList<Double>();
while(fileStockIn.hasNext()) //while loop to stay in loop while there are more records
{//begin while
double price = input.nextDouble();
double shares = input.nextDouble();
double dividend = input.nextDouble();
String ticker = input.next();
Double record = new Double(price, shares, dividend);
list.add(record);
}//end while
fileStockIn.close( );
reportFile.close( );
}
}
我正在读取的文本文件的输入(添加了要点以便于阅读):
- 42.87 23.33 2.10 EXC
- 12.00 83.33 0.17 亚视
- 28.15 35.00 0.80 毫秒
- 42.98 23.26 0.65 CVS
- 33.64 29.72 2.20 TXN
- 55.51 18.01 2.00 NVS
- 16.00 62.50 0.40 SPLS
- 19.81 50.47 0.24 CSCO
- 30.09 33.23 1.76 T
- 39.29 25.45 0.60 迪斯
- 18.65 53.00 0.29 SNE
- 50.21 19.21 0.72 AXP
- 102.69 9.74 1.44 尼克
【问题讨论】:
-
会发生什么?是否抛出异常?请提供更多信息
-
你为什么把你的类命名为
Double,这已经是一个Java类了? -
如果打算读取文本文件,您应该使用
fileStockIn。Scanner input = new Scanner(System.in);在这里似乎没有用。 -
@TimBiegeleisen 将其命名为 double,因为没有其他任何东西在起作用,并且在网上的某个地方看到了类似的东西,所以我想试试。
-
由于 java 是一种严格的语言,您应该能够使用预定义的函数来查找数组中的整数,然后将它们存储到一个临时数组中(对于十进制计算的双精度数),执行您的计算然后写入新文件。