我正在执行一项任务,允许用户在其帐户中取款和存入资金。但我有责任在用户进行超过 5 笔交易时让代码捕获,然后从他们的帐户中扣除 1 美元。 到目前为止,我为提现方法创建了以下代码:
public double withdraw(double amount) throws Exception {
if( numtransactions <5){
this.numtransactions++;
return balance-amount;
// Stub
}
else {
this.numtransactions++;
this.balance-1;
return balance-amount;
}
return balance - amount;
}
Eclipse 在 this.balance-1;
行向我发出错误警告
“-”被认为是语法错误。
我该如何解决这个问题?这段代码对于完成它的预期目的是否有意义?
我的存款方法的构建方式类似,但有一些 if 和 else 语句来限制其他事情,并且也有一些问题。但我希望首先介绍一下这种提款方法,并将我从这种方法中学到的知识运用到存款上。
谢谢 汤姆
编辑:
我已经实现了使用balance-=1来声明this.balance,并且我的提款方法和存款方法都工作正常! 感谢您让我在 stackoverflow 上有了第一次体验,而且非常棒!!
最佳答案
在行
this.balance - 1;
您没有将该操作的结果分配给任何变量。如果您想减少余额
,您可以使用其中任何一个(都是等效的):
this.balance = this.balance - 1;
this.balance -= 1;
this.balance--;
此外,每次提款时,您都想修改余额
:
this.balance -= amount;
为什么“-”被视为语法错误?
Java 期望赋值的左侧部分有一个变量,右侧部分有一个表达式。例如,当您这样做时:
2 - 1;
需要赋值运算符 (=
),因为左侧部分不能有表达式(在本例中为 2 - 1
)。
关于java - 尝试创建限制为 5 次免费交易的提款方法,此后的任何交易将扣除 1 美元的费用。 (//Java初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22524193/