如何要求用户输入帐号,然后从文本文件中返回他的余额[关闭]
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!";
这个程序只是打开文件,找到每个银行帐号,检查它是否是所需的,如果是则返回值。如果没有,它会显示“未找到!”
【讨论】:
以上是关于如何要求用户输入帐号,然后从文本文件中返回他的余额[关闭]的主要内容,如果未能解决你的问题,请参考以下文章