我將創建一個跟蹤銀行賬戶餘額的程序。該計劃應使用一直持續到用戶的動產回答沒有的問題要繼續做退出循環?。如何跟蹤銀行賬戶餘額?
在循環中,用戶應被要求輸入金額(存款爲正,取款爲負)。該金額應從賬戶餘額變量中加/減。所有存款/取款應保存爲的歷史記錄,以便日後打印。當用戶選擇退出循環時,應打印當前帳戶餘額以及帳戶歷史記錄(來自數組/ ArrayList)。
現在,我想使用一個具有十個插槽的數組作爲歷史記錄功能。
我的問題是如何能夠跟蹤所有存款,收回和經常賬戶餘額(使用十個插槽歷史功能的陣列),以便在用戶退出,我可以把它打印出來程序?
我的代碼:
將爲BankApp類:
package bankapp;
import java.util.Scanner;
public class BankApp {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
askingUser au = new askingUser();
System.out.println("WELCOME TO OUR BANK!\nYou have 100 SEK by default in your account.");
while (true) {
au.userInput();
System.out.println("Do you want to continue? Answer by Yes or No.");
String yesOrNo = input.next();
if (yesOrNo.equalsIgnoreCase("yes")) {
au.userInput();
} else if (yesOrNo.equalsIgnoreCase("no")) {
System.out.println("History: ");
//print out the transaction history
System.exit(0);
} else {
System.out.println("Invalid character input.");
}
}
}
}
askingUser類:
package bankapp;
import java.util.Scanner;
public class askingUser {
Scanner input = new Scanner(System.in);
double initialBal = 100;
public void userInput() {
System.out.println("Enter your amount: (+ve for deposit & -ve for withdraw)");
double inputAmount = input.nextDouble();
if (inputAmount >= 0) {
double newPosAm = initialBal + inputAmount;
System.out.println("Your current balance is: " + newPosAm + " SEK");
} else {
double newNegAm = initialBal + inputAmount;
System.out.println("Your current balace is: " + newNegAm + " SEK");
}
}
}
數組是一個壞主意,因爲您需要「記住」哪個索引是最新索引,然後必須以相反的順序解析該數組。最好使用'ArrayList'並在索引'0'上插入最新的條目。然後,您可以刪除索引編號> 10的條目。 – Tom 2014-12-19 11:15:31
好主意,這就是我的想法。 ArrayList可能會更好。 – Simon 2014-12-19 11:21:18