我将创建一个跟踪银行账户余额的程序。该计划应使用一直持续到用户的动产回答没有的问题要继续做退出循环?。如何跟踪银行账户余额?
在循环中,用户应被要求输入金额(存款为正,取款为负)。该金额应从账户余额变量中加/减。所有存款/取款应保存为的历史记录,以便日后打印。当用户选择退出循环时,应打印当前帐户余额以及帐户历史记录(来自数组/ 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