有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何修复此代码以满足要求?

我的代码

主要内容:

public class MainProg {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        bank acc = new bank();

        acc.acc1 = 1123.979;
        acc.acc2 = 543.758;

        System.out.println("account1 balance: " + "$" + acc.acc1);
        System.out.println("account2 balance: " + "$" + acc.acc2);

        System.out.println();

        System.out.print("Enter amount for account1: ");
        acc.WAmount1 = input.nextInt();;
        System.out.println();
        System.out.println("Subtracting " + acc.WA1 + " from account1 balance");
        acc.debit();

        System.out.println();

        System.out.print("Enter amount for account2: ");
        acc.WAmount2 = input.nextInt();

        System.out.println();

        System.out.println("Subtracting " + acc.WA2 + " from account2 balance");

        acc.Debit();
    }
}

我测试了代码,效果非常好。问题在于代码,我想指令说我只能在Account类中提供一个方法,即wdraw


共 (1) 个答案

  1. # 1 楼答案

    一个科目类别只能包含一个金额字段。如果您有多个帐户,您将创建同一类的新实例,因此每个实例分别保存一个帐户和一个帐户的信息

    取款方法应将取款金额作为参数,因为取款金额不是账户的固有部分,而是与一个取款操作相关联的临时值

    比如

    public class Account {
      double amount;
    
      public void withdraw(double withdrawal){
         if (amount - withdrawal< 0){
            System.out.println("the debit amount exceeded the account balance");
         } else { 
             amount-=withdrawal;
         }
         System.out.println("account balance: $" + amount);
      }
    }
    

    如果可能的话(足够的资金),不要忘记通过取款来减少金额

    然后可以实例化多个帐户:

    Account account1=new Account();
    // set amount and do withdrawals on account1
    
    Account account2=new Account();
    // set amount and do withdrawals on account2