【发布时间】:2016-04-07 13:33:30
【问题描述】:
我有 2 节课。该程序几乎可以模拟 ATM。用户将要求存款、取款或查看用户银行账户的余额。
余额将首先设置为零,然后用户可以存款或取款。
名为CheckingAccount 的第一个类将有方法并且没有主方法,而TestCheckingAccount 有主方法。所有输入和输出都将出现在TestCheckingAccount 类中,而CheckingAccount 进行计算。
如果用户选择存款,那么账户的余额将被添加到用户想要存入他/她的账户的金额中。 CheckingAccount 类中的 getBalance 方法返回用户帐户的余额,而 processDeposit 将用户想要存款的金额添加到余额中,而 processCheck 将用户选择的金额减少到余额中。
如果用户选择查看余额,那么它将打印用户余额。
CheckingAccount 类
public class CheckingAccount{
double myBalance = 0;
public double getBalance(){
return myBalance;
}
public void processDeposit(double amount){
myBalance += amount;
}
public void processCheck(double amount){
myBalance -= amount;
}
}
TestCheckingAccount 类
import java.util.Scanner;
public class TestCheckingAccount {
public static void main(String[] args) {
CheckingAccount check = new CheckingAccount();
Scanner in = new Scanner(System.in);
String choice;
double moneyAdded;
double moneySubtracted;
do
{
System.out.println("Deposit");
System.out.println("Withdraw");
System.out.println("Balance");
System.out.println("Exit");
System.out.println("**********************************************");
System.out.println("Which operation would you like to use?");
choice = in.nextLine();
if(choice.equalsIgnoreCase("Deposit"))
{
System.out.println("How much money would you like to deposit?");
moneyAdded = in.nextDouble();
check.processDeposit(moneyAdded);
}
if(choice.equalsIgnoreCase("Withdraw"))
{
System.out.println("How much money would you like to withdraw?");
moneySubtracted = in.nextDouble();
check.processCheck(moneySubtracted);
}
else if(choice.equalsIgnoreCase("Balance"))
{
System.out.printf("$%.2f%n" , check.myBalance);
}
else if(choice.equalsIgnoreCase("Exit"))
{
System.exit(0);
}
}
while(choice.equalsIgnoreCase("Deposit")||choice.equalsIgnoreCase("Withdraw")||choice.equalsIgnoreCase("Balance"));
in.close();
}
}
程序运行良好,但我遇到的问题是程序必须询问用户是否要存款、取款或查看余额,直到用户完成并退出程序。
因此,程序询问用户是否要存款、取款或查看账户余额的部分必须是循环的。我把它放在一个do-while循环中。因此,当我运行程序并询问余额时,打印出余额然后循环正常,然后程序再次询问他/她是否要提取、存款、查看余额或退出。
但是当我要求程序提款或存款时,它会运行但不会循环而是退出循环。
我如何制作程序,以便它可以取款或存款但仍循环并返回到询问用户是否要存款或取款的菜单,而不仅仅是结束循环?
【问题讨论】:
标签: java