Java Atm机(如何添加注释)
我必须做一个项目(java的atm机),其中atm机必须支持20美元和50美元的钞票。要求: 它必须支持20美元和50美元的纸币。 它应该只能分发合法的纸币组合。例如,一张100美元的申请可以通过五张20美元的钞票或两张50美元的钞票来满足。无需提供选项列表。 如果由于找不到合适的注释组合而无法满足请求,则应以某种方式报告错误情况。例如,在只有20美元和50美元纸币的自动取款机中,不可能分发30美元 我找不到添加注释的解决方案,我已经完成了以下程序Java Atm机(如何添加注释),java,Java,我必须做一个项目(java的atm机),其中atm机必须支持20美元和50美元的钞票。要求: 它必须支持20美元和50美元的纸币。 它应该只能分发合法的纸币组合。例如,一张100美元的申请可以通过五张20美元的钞票或两张50美元的钞票来满足。无需提供选项列表。 如果由于找不到合适的注释组合而无法满足请求,则应以某种方式报告错误情况。例如,在只有20美元和50美元纸币的自动取款机中,不可能分发30美元 我找不到添加注释的解决方案,我已经完成了以下程序 import java.util.Scanne
import java.util.Scanner;
public class AtmMachine{
private static Scanner in;
private static float balance = 200;
public static void main(String args[]){
in = new Scanner(System.in);
transaction();
}
private static void transaction(){
int choice;
System.out.println("Please select an option");
System.out.println("1. Withdraw");
System.out.println("2. Balance");
choice = in.nextInt();
switch(choice){
case 1:
float amount;
System.out.println("Please enter amount to withdraw: ");
amount = in.nextFloat();
if(amount > balance || amount == 0){
System.out.println("You have insufficient funds\n\n");
transaction();
} else {
balance = balance - amount;
System.out.println("You have withdrawn "+amount+" and your new balance is "+balance+"\n");
transaction();
}
break;
case 2:
System.out.println("Your balance is "+balance+"\n");
transaction();
break;
default:
System.out.println("Invalid option:\n\n");
transaction();
break;
}
}
}
因为您正在学习,所以为您编写代码对您没有帮助。我将通过给出关键的想法来帮助您。假设您想提取X笔钱,您需要检查以下内容
当您可以将事务简单地放入一个while循环中时,反复调用事务不是一个好主意。您的问题是什么?你能用散文描述一下如何将一笔钱分成20和50的组合吗?你能,假设这是可能的吗?你能检测出什么时候不是吗?你的问题是什么?为了找到一个算法,试着装傻。如果我要110美元,你会如何在50岁和20岁时给我?50,50,失败。20,20,20,20,20,失败。50,20,20,20,成功。最盲目、最愚蠢、最顽固、最狭隘的做法是什么?如果你能回答这个问题,那么你已经完成了90%的算法定义。你还需要一个退出点。我明白你的意思,但我是java初学者,我无法编写支持50美元和20美元notes的代码。如果有人能帮我按照我说的要求写这段代码,那将非常有帮助提示:每一个大于40且可被10整除的数字在你的作业中都是有效的。