ITI0011:harjutus 06

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti

Üldine

Ülesande tähtaeg: 2. - 4. märts
Kaust git'is: EX06

Lisalugemist


Ülesanne

Olete Kathmandu ametnik ning soovite oma riigitöö kõrvalt natuke lisaraha teenida. Öösel tekkis teil hea idee luua oma pank, kuid ühe kiiksuga - ülekandeid saavad teha ainult programmeerijad (sisse/välja ka teistele teenusepakkujate kontodele). Kuna tegemist ei ole just kõige arenenuma riigiga siis puuduvad täielikult igasugused veebiliidesed ja automaadid. Tänu sellele näete oma idees tõelist kullaauku siis proovite realiseerida TruBank Java API’t mis lihtsustaks kohalike elu oluliselt.

Versioon 1 peab lubama järgmised tegevused:

  • public double getBalance() - Tagastab hetkel pangas hoiusel oleva rahasumma.
  • public double withdrawMoney(double amount) - Võtab kontolt amount võrra raha maha, kui võimalik. (Negatiivseks ei tohi minna, vastasel juhu tagastada Double.NaN). Lubatud summa välja võtmisel tagastab kontol oleva rahasumma.
  • public void addMoney(double amount) - Lisab hoiusele amount võrra raha juurde.
  • public boolean transferMoneyTo(BankAccount targetAccount, double amount) - Ülekandeid teisele kontole. Kusjuures tuleb arvestada, et saatja kontol oleks piisavalt raha ning targetAccount reaalselt eksiteerib. Tagastab tõeväärtusena ülekande õnnestumise. Ülekande tasuks saatjale on 1% ülekantavast summast.


Mall

Selle ülesande jaoks looge kaks faili:

EX06.java: <source lang="java"> public class EX06 {

  public static void main(String[] args) {
      BankAccount first = new BankAccount();
      BankAccount second = new BankAccount();
      first.addMoney(101.0);
      second.addMoney(200.0);
      first.transferMoneyTo(second, 100.0);
      System.out.println(second.getBalance()); // 300.0
      System.out.println(first.getBalance()); // 0.0
      second.withdrawMoney(67.3);
      System.out.println(second.getBalance()); // 232.7
  }

} </source>

BankAccount.java: <source lang="java"> public class BankAccount {

  private double balance;


  public double getBalance() {
      // TODO: implement function
      return Double.NaN;
  }
  public double withdrawMoney(double amount) {
      // TODO: implement function
      return Double.NaN;
  }
  public void addMoney(double amount) {
      // TODO: implement function
  }
  public boolean transferMoneyTo(BankAccount targetAccount, double amount) {
      // TODO: implement function
      return false;
  }

}