首页 > 解决方案 > Java银行系统问题

问题描述

我正在基于我最近获得的 UML 制作银行系统。我在完成某些方法时遇到问题,而我自己尝试了几件事来完成它。

就是以下。我的方法“addInterest()”没有为一个账户的余额增加任何利息。可能是支票账户或储蓄账户。它只是不添加它。

还有一个问题,在要求中,每个新客户建立后,都会建立两个帐户。我希望我做的正确,一些更正将不胜感激!我知道代码还没有 100% 完成,但我正在一点一点地做。

账户.java

package com.company;

public class Account {
    public static Double interest = 0.042;
    private static Long number = 0L;
    private Double balance = 0.0;

    public Account(Double interest, Long number, Double balance) {

        number = Account.number;
        balance = this.balance;
    }


    public void deposit(Integer amount) {

        balance = balance + amount;

    }

    public double addInterest() {
        return balance += balance * interest;
    }

    public double getBalance() {

        return balance;

    }

    public static void main(String[] args) {
        Account checkingaccount = new Account(interest, 1L, 0.0);
        Account savingsaccount = new Account(interest, 1L, 0.0);

        Customer customer = new Customer(1L, "John Doe", savingsaccount, checkingaccount);


        checkingaccount.deposit(500);
        savingsaccount.deposit(100);


        checkingaccount.addInterest();
        savingsaccount.addInterest();

        System.out.println("Has a balance of " + checkingaccount.getBalance());

        System.out.println("Has a balance of " + savingsaccount.getBalance());

        System.out.println("Total balance is " + customer.totalBalance());



    }
}

客户.java

class Customer {
    private static Long lastNumber;
    private String name;
    private Account savingsAccount;
    private Account checkingAccount;


public Customer(Long lastNumber, String name, Account savingsAccount, Account checkingAccount){
    //add lastnumber
    this.name = name;
    this.savingsAccount = savingsAccount;
    this.checkingAccount = checkingAccount;
}

public String getName(){
    return this.name;
}

public Account getCheckingaccount(Account checkingaccount){
    return checkingaccount;
}

//public Long getUniqueNumber(){
//
//}

public Account getSavingsaccount(Account savingsaccount){
    // return savingsAccount info
    return savingsaccount;
}

public double totalBalance(){
    // return totalbalance
    return savingsAccount.getBalance() + checkingAccount.getBalance();
}

















}

标签: javaoop

解决方案


您似乎没有addInterest()在您的main()方法或其他地方调用。您可能想在内部调用它.deposit()或在两个.deposit()调用之后调用它main()。这取决于您希望的Account行为方式(例如,大多数银行在给定的时间线上增加利息,例如每月一次)。


推荐阅读