0
我正在创建银行家循环java代码。我试图询问用户他们想要存入他们账户的金额。我可以得到这个工作一次。例如,他们将首次进入20美元。然后他们会决定再投入10美元。但是,不是将当前余额显示在30美元,而是仅显示最近输入的美元(10美元)。我该如何解决?为什么输入的资金没有增加到前一个余额? (Java)
这是我在菜单中环的那部分代码调用类:
else if(userInput == 3){
Account account = new Account();
System.out.print("\nHow much would you like to deposit?: ");
float money = input.nextFloat();
account.deposit(money);
}
这里是被称为存款代码:你要保持
public void deposit(float money) {
if (money < 0) {
System.err.println("Error: Can't deposit negative money.\n");
return;
}
else {
currentBalance = money + currentBalance;
System.out.println("Current balance: $" + currentBalance + "\n");
}
}
'Account account = new Account();'不要在else if块中创建一个新账户。该变量只在块内可见,没有其他位置。了解变量范围。 –
可能是因为它每次都创建一个新的'Account'实例,而不是重用实例。 –
避免“浮动”。除非你真的知道你需要'浮动',否则使用'double'。然而,使用浮点类型来赚钱是一个非常糟糕的主意 –