【问题标题】:how to ask the user to enter account number and then return his balance from a text file [closed]如何要求用户输入帐号,然后从文本文件中返回他的余额[关闭]
【发布时间】:2023-03-08 01:16:02
【问题描述】:

我有一个包含两列的文本文件,一列用于帐号,另一列用于余额。 我想向用户询问他的帐号并从文本中获取他的余额。 我有存款和取款之类的方法,我想将其应用于用户的余额,然后更新文本文件。最好的方法是什么? 我应该使用数组吗?还是有更简单的方法?

文本文件是这样的

1001 50.67
1002 500.32
1003 63.63
1004 953.53
1005 735.22

【问题讨论】:

  • "我应该使用数组吗?"你可以,但不是必须的。
  • 你可以使用某种Map
  • 您可以使用许多结构。它们都有不同的成本和收益,只有您知道您的应用程序的关注点和要求。请用更准确的细节编辑问题,说明为什么需要使用任何结构以及遇到什么问题。

标签: java file banking


【解决方案1】:

使用数组不是解决这个问题的实用方法。我制作了一个示例程序,可以在没有数组的情况下完成上述操作。要运行此操作,请确保您的帐户文件名称为 BankAccounts.txt

import java.io.*;
import java.util.*;

public class BankAccount {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        File dir = new File("BankAccounts.txt");
        System.out.println("Please enter your bank account number.");
        String bankNumber = input.nextLine();
        input.close();
        System.out.println("Your Balance is: "
                + balanceFromAccount(bankNumber, dir));
    }

    public static String balanceFromAccount(String accountNumber, File file) {
        String tempNumber = "";
        int i;
        try {
            BufferedReader br = new BufferedReader(new FileReader(file));

            String line = null;
            while ((line = br.readLine()) != null) {
                for (i = 0; line.charAt(i) != ' '; i++) {
                    tempNumber = tempNumber.concat(line.substring(i, i + 1));
                }
                if (tempNumber.equals(accountNumber)) {
                    return line.substring(i + 1);
                }
                tempNumber = "";
            }
            br.close();
        } catch (Exception e) {

        }
        return "Not Found!";

    }

}

这个程序只是打开文件,找到每个银行帐号,检查它是否是所需的,如果是则返回值。如果没有,它会显示“未找到!”

【讨论】:

    猜你喜欢
    • 2016-02-12
    • 2022-01-16
    • 2013-05-29
    • 2018-04-22
    • 2013-12-03
    • 2019-04-19
    • 2014-03-11
    • 1970-01-01
    • 2020-04-15
    相关资源
    最近更新 更多