如果我使用switch语句根据现金金额运行不同的方法,我将如何区分$100字符串和$10字符串。
我试过在10后面加一个空格来做"$10“,但是考虑到程序/项目的性质,字符串必须保持"$10”。
case "$100":
Information.displayHundreds();
case "$50":
Information.displayFifties();
case "20":
Information.displayTwenties();
case "10":
Information.displayTens();这是给我的原始问题(我正在研究):
您将编写一个命令行自动取款机(ATM)。提款机预先备有以下面额:
$100 - 10钞票
$50 - 10账单$20 - 10账单
$10 - 10钞票
$5 - 10钞票
$1 - 10钞票
您的应用程序应该接受来自标准输入流的输入,并支持以下命令:
R-将提款机的库存恢复到上面定义的原始库存水平
W-W从提款机中提取该金额(例如"W $145")
I-显示自动提款机中存在的该面值的纸币数量(例如i $20 $10 $1)
Q-退出应用程序
提款机的提款应该以最有效的方式分配现金,用最少的账单。提款后,程序应该显示成功或失败以及提款机中的余额(下面的输出示例)。对于查询,程序应显示指定面额的钞票数量(以下输出示例)。重新进货后,程序应在提款机中显示余额(与取款后相同)。如果输入的内容不被理解,则应显示"Invalid Command“。不应显示任何其他消息、提示或错误。
发布于 2020-06-11 11:35:04
您可以使用
case "$100":
System.out.println("Information.displayHundreds");
case "100":
System.out.println("Information.displayHundreds");可以使用if else更好,因为switch case需要明确的值。
发布于 2020-06-11 10:25:14
您应该删除$符号并将其转换为数字。这样一来,你就更容易(不那么复杂)地进行比较了。之后,您可以重新添加$符号,甚至可以跟踪它是否在开头。
发布于 2020-06-11 11:01:27
可以先使用replace或split删除"$“吗?
public class xxxx {
public static void main(String[] args) {
String money = "$50";
String m = money.replace("$","");
switch(m){
case "$100":
System.out.println("Information.displayHundreds");
case "50":
System.out.println("Information.displayFifties");
case "20":
System.out.println("Information.displayTwenties");
case "10":
System.out.println("Information.displayTens");
default:
break;
}
}
}https://stackoverflow.com/questions/62316005
复制相似问题