java - 尝试创建限制为 5 次免费交易的提款方法,此后的任何交易将扣除 1 美元的费用。 (//Java初学者)

标签 java account

我正在执行一项任务,允许用户在其帐户中取款和存入资金。但我有责任在用户进行超过 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/

相关文章:

linux - 在远程计算机上以交互方式创建新用户

java - 如何使用@GetMapping按id加载数据

java - hibernate查询多个对象选择

java - 避免等待 Servlet 流

heroku - 多个 Heroku 应用程序的相同附加组件

magento - 在 Paypal 标准中创建两个企业帐户

java - java.util.function.Supplier 的 C# 等价物是什么?

java - 更改 arraylist 内的 class 内的整数值?

ios - 无法将Apple帐户添加到Visual Studio 2017

javascript - 用户帐户创建和验证 (BigCommerce)