gpt4 book ai didi

java - 如何计算文件中的数字总和?

转载 作者:行者123 更新时间:2023-11-29 21:56:01 24 4
gpt4 key购买 nike

我想在 TextView 中显示从一个文件添加的所有数字的总和,目前它只读取/显示文件中的最后一个数字。

这是我当前写入文件的代码:

total.setText(total.getText());                            
try {
FileOutputStream fos = openFileOutput("TotalSavings", Context.MODE_PRIVATE);
fos.write(total.getText().toString().getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
}

这是我当前读取文件的代码:

public void savingstotalbutton(View view) {

try {
BufferedReader inputReader = new BufferedReader(new InputStreamReader(
openFileInput("TotalSavings")));
String inputString;
StringBuffer stringBuffer = new StringBuffer();
while ((inputString = inputReader.readLine()) != null) {
stringBuffer.append(inputString + "\n");
}
savingstotaltext.setText(stringBuffer.toString());
} catch (IOException e) {
e.printStackTrace();
}
}

谁能告诉我怎么做?

最佳答案

假设行中只有一个整数,你不能做这样的事情吗?

public void savingstotalbutton(View view) {

int total = 0;

try {
BufferedReader inputReader = new BufferedReader(new InputStreamReader(
openFileInput("TotalSavings")));
String inputString;
StringBuffer stringBuffer = new StringBuffer();
while ((inputString = inputReader.readLine()) != null) {
//stringBuffer.append(inputString + "\n");
total = total + Integer.parseInt(inputString);
}
//savingstotaltext.setText(stringBuffer.toString());
savingstotaltext.setText(String.ValueOf(total));
} catch (IOException e) {
e.printStackTrace();
}
}

编辑:评论中每个问题的扩展答案

只需将 int total 更改为 double total 并将 Integer.parseInt() 更改为 Double.parseDouble()如果您使用小数。此外,如果行中的字符多于数字/小数,请尝试使用以下命令仅删除并使用数字,并确保行中有内容:

if (inputString.length() > 0) {
String line = inputString.replaceAll("[^0-9.]", "");
total = total + Double.parseDouble(line);
}

关于java - 如何计算文件中的数字总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13253361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com