我真的不知道,如果使用地圖將是最好的對於這種情況,但隨後又可以給你更容易檢查correspoding每個帳戶的平衡。
您可以將帳戶號碼作爲密鑰的地圖和餘額作爲其相應的值。
Map balancesOfEachAccount = new HashMap<String, Double>()
//with this, you can either treat the account number as double also.
//however, it would be good to treat it as String since you won't be
//doing any special operation for it as a double, you only want the
//account number as something that indicates the balances so string is enough.
Wih關心從文本文件中提取數據,您可以使用FileReader。 link
在朝着分離每一行,爲您的地圖關鍵字和值的問題,您可以使用的StringTokenizer的java:link
另外請注意,如果你將要使用的文本文件將只包含2爲每一行分隔字符串,否則您需要爲其添加額外的處理。
StringTokenizer st = new StringTokenizer("1001 50.67"); //retrieved from text via file reader
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
//implement mapping here,
//1001 as key and 50.67 converted to Double as its value in map
}
//rest of your code
還要注意的是StringTokenizer提供了默認的分隔符,所以當文本文件,改變其格式它是如何分離帳戶號碼和相應的平衡,你可能需要修改添加到您的解析器爲這一個。您也可以指定上面提供的鏈接上顯示的分隔符。
StringTokenizer(String str, String delim)
希望這會有所幫助。
*餘額* **不是**整數。並嘗試'System.out.println(0.05 + 0.05 + 0.05);'爲了理解你爲什麼要用'BigDecimal'來賺錢。 –