如何要求用户输入帐号,然后从文本文件中返回他的余额[关闭]

Posted

技术标签:

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

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

文本文件是这样的

1001 50.67
1002 500.32
1003 63.63
1004 953.53
1005 735.22

【问题讨论】:

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

    


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

【讨论】:

以上是关于如何要求用户输入帐号,然后从文本文件中返回他的余额[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

c ++:如何获得余额(在银行系统中)

python-code-03

一个很low的购物车系统还花了我一下午时间

如何在用户输入中识别名称(从文本文件中识别,然后打印名称)

增加和删除用户

useradd命令