Java 循环后未记录对变量的更改?

Java 循环后未记录对变量的更改?,java,variables,if-statement,reset,Java,Variables,If Statement,Reset,我正在编写一套简单的程序(客户和服务),用于计算银行账户的交易,最后是提款和存款总额以及最终余额的汇总。但是,每次循环后,余额都会重新设置,而不是保持经常账户余额的运行选项卡,因此,例如,如果第一笔交易是500美元的存款,则在该笔交易后过账的当前余额将是准确的,但在下一笔交易中(例如,75美元的提款),当前余额将不计入以前的存款。下面是计算当前平衡的代码模块,以及调用此模块的循环。这是我第一次在构造函数中声明变量,所以这可能与错误有关 public void computeCurrentBala

我正在编写一套简单的程序(客户和服务),用于计算银行账户的交易,最后是提款和存款总额以及最终余额的汇总。但是,每次循环后,余额都会重新设置,而不是保持经常账户余额的运行选项卡,因此,例如,如果第一笔交易是500美元的存款,则在该笔交易后过账的当前余额将是准确的,但在下一笔交易中(例如,75美元的提款),当前余额将不计入以前的存款。下面是计算当前平衡的代码模块,以及调用此模块的循环。这是我第一次在构造函数中声明变量,所以这可能与错误有关

public void computeCurrentBalance(){
   double deposit,withdrawal;

   if (choice == 'D' || choice == 'd'){
      System.out.print ("Enter amount of Deposit:   $");
      deposit = scan.nextDouble();
      currentBalance = initialBalance + deposit;
      totalDeposits = deposit + totalDeposits;
   }
   if (choice == 'W' || choice == 'w'){
         System.out.print ("Enter amount of Withdrawal:   $");
         withdrawal = scan.nextDouble(); 
         currentBalance = initialBalance - withdrawal;
         totalWithdrawals = withdrawal + totalWithdrawals;
   }
}
for (ctr = 0; ctr < 8; ctr++){
    accounts.enterChoice();
    accounts.computeCurrentBalance();
    currentBalance = accounts.getCurrentBalance();
    System.out.println ("Current Balance: $" + currentBalance);
}
public void computeCurrentBalance(){
双重存款、取款;
如果(选项='D'|选项=='D'){
System.out.print(“输入存款金额:$”;
存款=扫描.nextDouble();
当前余额=初始余额+存款;
存款总额=存款+存款总额;
}
如果(选项=='W'| |选项=='W'){
System.out.print(“输入取款金额:$”;
撤回=扫描.nextDouble();
当前余额=初始余额-提取;
总取款=取款+总取款;
}
}
对于(ctr=0;ctr<8;ctr++){
accounts.enterChoice();
accounts.computeCurrentBalance();
currentBalance=accounts.getCurrentBalance();
System.out.println(“当前余额:$”+当前余额);
}

computeCurrentBalance()始终设置
currentBalance=initialBalance+存款
currentBalance=initialBalance-取款
,而不做任何更改
initialBalance
。您需要更改这些语句以避免出现问题。

这只是一个无用的代码转储!更一致的缩进将使事情更清楚。