gpt4 book ai didi

java - 如何使用 for 循环将字符串 arraylist 转换为 double 进行计算?

转载 作者:行者123 更新时间:2023-12-02 05:16:16 25 4
gpt4 key购买 nike

我收到了 data.txt 文件,并且必须使用 ArrayList 计算总金额

我的 data.txt 文件包含:

32.14,235.1,341.4,134.41,335.3,132.1,34.1

到目前为止我已经

public void processFile() throws IOException
{
File file = new File("SalesData.txt");

Scanner input = new Scanner(file);
ArrayList<String> arr = new ArrayList<String>();
String line = input.nextLine();

StringTokenizer st = new StringTokenizer(line, ",");

while (st.hasMoreTokens())
{
arr.add(st.nextToken());
}

setArrayListElement(arr); //calls setArrayListElement method

}

这是我的 setArrayListElement 方法:

private void setArrayListElement(ArrayList inArray)
{
for (int i = 0 ; i < inArray.size() ; i++)
{
// need to convert each string into double and sum them up
}
}

我可以寻求帮助吗?

最佳答案

  1. 切勿使用 double 进行货币计算(之前的答案也是错误的)
  2. 永远不要引用具体的类。本例中的接口(interface)是 List arr = new ArrayList();

您的具体答案:

BigDecimal summed = BigDecimal.ZERO;

for (int i = 0 ; i < arr.size() ; i++) {
final String value = arr.get(i);
try{
BigDecimal bd = new BigDecimal(value);
summed = summed.add(bd);
} catch(NumberFormatException nfe){
//TODO: Handle
}
}

...

关于java - 如何使用 for 循环将字符串 arraylist 转换为 double 进行计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26930527/

25 4 0