You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java读取txt银行账户数据时将String类型余额转换为double的方法

代码修改方案

你需要使用JDK内置的Double.parseDouble()方法完成字符串到double的类型转换,同时建议增加异常处理逻辑避免文件内容格式错误导致程序崩溃。

修改后完整代码

public static ArrayList<Account> readAccounts(Scanner input){
    String row;
    String[] column;
    ArrayList<Account> accounts = new ArrayList<>();
    while(input.hasNext()){
        row = input.nextLine();
        column = row.split(";");
        // 先做列数校验,避免数组越界
        if(column.length < 3){
            System.out.println("跳过格式错误行:" + row);
            continue;
        }
        try {
            // 核心:将column[2]从String转为double
            double balance = Double.parseDouble(column[2].trim());
            Account account = new Account(column[0], column[1], balance);
            // 原代码的account.toString()无实际作用,如需打印可改成下行
            // System.out.println(account);
            accounts.add(account);
        } catch (NumberFormatException e) {
            System.out.println("跳过余额格式错误行:" + row + ",错误原因:" + e.getMessage());
        }
    }
    return accounts;
}

核心修改点说明

  • 类型转换实现:通过Double.parseDouble(column[2].trim())转换字符串余额,增加trim()处理是为了兼容字段前后的空格
  • 异常兼容:新增列数校验、数字格式异常捕获逻辑,遇到非法行时跳过不终止整体读取流程
  • 冗余代码清理:原代码中单独调用account.toString()没有任何输出/赋值作用,已注释,如需调试打印可替换为输出语句

内容的提问来源于stack exchange,提问作者Rgt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:45:01