【问题标题】:Add numbers in JAVA在JAVA中添加数字
【发布时间】:2014-04-28 10:26:53
【问题描述】:

如何添加存款号码?我是否需要某种循环(我是 JAVA 新手)?

public class BankAccount {

    public static void main(String[] args) { 
        BankAccount account = new BankAccount();

        account.deposit(1000, "Deposit 1"); 
        account.deposit(2000, "Deposit 2");
        System.out.println("Balance: " + account.getBalance()); 
        account.deposit(3000, "Deposit 3"); 
        account.deposit(4000, "Deposit 4");
        System.out.println("Balance: " + account.getBalance());
    }

    private int currentBalance = 0;
private int getBalance() {

    int finalBalance = depositAmount + currentBalance;
    return finalBalance;
}

private int depositAmount;

public void deposit(int depositAmount) {

        this.depositAmount = depositAmount;
} 
}

结果应该是:

余额:3000

余额:10000

【问题讨论】:

  • 你得到什么结果?账户内部发生了什么/存款有什么作用?
  • 如果你觉得需要,你需要它们!
  • 是的,我们知道结果应该是什么。那么你说你的问题是什么?
  • 已更新。我是 Java 新手,所以要友善 :) 这就是我现在所拥有的。有什么想法吗?
  • 您说结果应该是 3000 和 10000.. 没错.. 但实际结果是什么?问题出在哪里?

标签: java numbers add


【解决方案1】:

您的存款功能存在问题。我想你想要:

public void deposit(int depositAmount) {    
    this.currentBalance += depositAmount;
} 

注意+=:这将累积存款金额。您还应该摆脱同样会导致错误的类成员 depositAmount。然后您的 getBalance 函数减少为

private/*ToDo - this will probably be public eventually*/ int getBalance() {
    return currentBalance;
}

还有两个问题:

  1. 不直接调用此函数deposit,因为您正在调用一个也接受字符串的版本。 (我假设你给出的函数最终会被调用)。

  2. 如何为十进制值建模?不要使用浮点数,因为那将是不精确的。请改用货币类型。

【讨论】:

  • 谢谢!这可行,但第二个 System.out.println 得到与第一个相同的结果。 :(
【解决方案2】:

嗯,这可能对你有用

public class BankAccount {

  public static void main(String[] args) { 

      BankAccount account = new BankAccount();

      account.deposit(1000); 
      account.deposit(2000);
      System.out.println("Balance: " + account.getBalance()); 
      account.deposit(3000); 
      account.deposit(4000);
      System.out.println("Balance: " + account.getBalance());
  }

  private int currentBalance = 0;

  private int getBalance() {
      return this.currentBalance;
  }

  public void deposit(int depositAmount) {
      this.currentBalance = this.currentBalance + depositAmount;
  } 
}

【讨论】:

  • 或按照其他答案的建议.. 使用 this.currentBalance += depositAmount 进行累积。
【解决方案3】:

您实际上是将所有内容添加到同一个对象 account 。因此,您将获得其中所有值的结果。(即)所有输入的总和10000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 2018-12-22
    • 2019-03-28
    相关资源
    最近更新 更多