我有两节课。这个程序几乎模拟了一个自动取款机。用户将要求存入、提取或查看用户银行帐户的余额。
首先,余额将被设置为零,然后用户可以存钱或取款。
如果用户选择存款,则帐户余额将添加到用户希望存入他/她帐户的金额。CheckingAccount
类中的GetBalance
方法返回用户帐户的余额,而ProcessDeployce
将用户希望存入的金额添加到余额中,而ProcessCheck
将用户选择的金额减少到余额中。
如果用户选择查看余额,那么它将打印用户余额。
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;
}
}
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();
}
}
我如何使程序,使它可以提取或存钱,但仍然循环,并回到菜单,它问用户是否他/她想存钱或取款,而不只是结束循环?
对于“exit”条件,可以使用无限循环和break
。此外,还可以使用try-with-resources
close语句关闭扫描程序
。就像,
try (Scanner in = new Scanner(System.in)) {
String choice;
double moneyAdded;
double moneySubtracted;
while (true) {
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);
} else 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")) {
break;
}
}
}
问题内容: 在Java中退出/终止while循环的最佳方法是什么? 例如,我的代码当前如下: 问题答案: 用途: 但是,如果您的代码看起来 完全 像您指定的那样,则可以使用普通循环并将条件更改为:
由于某种原因,在我输入“停止”后,代码不会退出。为什么?逐步调试表明,在我输入“stop”后,它的值完全由“s”、“t”、“o”、“p”组成,没有任何换行符,等等。然而,代码仍然无法退出。谁能告诉我为什么吗?
这周我刚刚开始学习C#并且正在尝试运行一个简单的代码,当用户输入文本时,它会提示用户输入一个数字,或者当用户输入一个负数时,它会提示用户输入一个正数(因此,对于文本是一个布尔运算,对于负数是一个if语句)。如果他们输入了一个有效的(正)数字,程序将继续进行其余的步骤。 然而,在此代码中,如果用户输入一个负数,然后输入一个文本,然后输入另一个负数,依此类推,似乎会中断循环并继续下一个操作。 代码是一
问题内容: 在下面的代码中,我希望循环在+ + =时立即退出。但是,使用语句进行测试表明它一直持续到循环完成为止。我尝试过,然后在语句集中进行设置,但这会导致无限循环。我认为使用然后设置可能有效,但也可以一直运行到循环结束为止。什么是最优雅,最快的退出方式?谢谢。 问题答案: 该循环将只匹配条件时,当控制返回到它,即循环完全执行。因此,这就是即使满足条件也不会立即退出程序的原因。 但是,如果条件没
我正在为学校做一个简单的Java计算器,效果很好。但是,我需要添加一个while循环,询问用户是否要继续是/否。不过,我不知道应该将while语句放在哪里。我试着把if语句放在上面,我试着把它放在下面,然后把它添加到每个if和else if语句中,但仍然无法让它工作。在if和else-if语句中,应该在哪里放置while循环,以获得运行while循环的所有选项?
我有以下代码来下载通过TCP传输的文件: 一旦所有的字节都被处理了(它们总是被处理的,它像正常的一样工作,只是不退出循环),文件就被创建了,没有一个问题,但是,循环没有退出。
出现的问题是,当用户确实输入了一个正数时,它仍然忽略输入,并要求用户再次输入一个正整数。我想我只是没有正确退出循环,但我不确定是如何退出的。
问题内容: 我“d成的运行Django的服务器,我不能简单地和出来。 是否有其他摆脱困境的方法? 目前,我手动关闭本地PC上的选项卡,然后再重新打开,但这变得很烦人。 问题答案: 或 。请参阅屏幕手册#分离。