Java逐行读取文件提取整数如何求和?无法得到总和问题求助
Java代码累加整数总和修改方案
你当前代码的核心问题是没有在循环外声明全局的累加变量,每次循环解析出的数值仅临时存储在单次循环生效的局部变量中,没有做累加操作。按以下逻辑修改即可:
- 进入while循环前,先初始化一个int类型的总和变量,初始值为0
- 每次循环解析得到
maleBb后,将该值累加到总和变量中 - 整个文件读取结束后,打印总和变量即可得到最终结果
修改后的完整代码如下:
import java.io.*; import java.nio.charset.StandardCharsets; public class babySort { public static void main(String[] args) { File inputFile = new File("src/babynames.txt"); // 初始化总和存储变量 int total = 0; try (BufferedReader br = new BufferedReader(new FileReader(inputFile, StandardCharsets.UTF_8))) { String input; while ((input = br.readLine()) != null) { // Java中正则的空白符标识\s需要转义为\\s String[] inputSplit = input.split("\\s+"); int maleBb = Integer.parseInt(inputSplit[2]); // 累加当前行数值到总和 total += maleBb; } // 读取完所有行后打印最终总和 System.out.println(total); } catch (IOException e) { e.printStackTrace(); } } }
你提供的4个输出数值累加后结果为1503767,和预期输出完全一致。
内容的提问来源于stack exchange,提问作者Dustin McDonnell
相关产品推荐
相关产品推荐

