2014-10-01 7 views
0
package assignment; 
public class BankAccount { 
private double balance; 
private String accountHolderName; 

BankAccount() 
{ 
    balance = 0; 
    accountHolderName = ""; 
} 
BankAccount(double balance, String accountHolderName) 
{ 
    this.balance = balance; 
    this.accountHolderName = accountHolderName; 
} 
public String withdrawal(double withdrawalAmount) 
{ 
    String result = ""; 
    if(withdrawalAmount > balance) 
    { 
     result = "Account can not be overdrawn"; 
    }else if(withdrawalAmount <= 0) 
    { 
     result = "negative withdrawal amounts not allowed"; 
    } 
    else 
    { 
     balance -= withdrawalAmount; 
     result = "$ " +withdrawalAmount + " withdrawn. Remaining balance is: " +balance; 
    } 
    return result; 
} 

public String deposit(double amountToDeposit) 
{ 
    String result = ""; 
    if(amountToDeposit <= 0) 
    { 
     result = "Deposits must be positive"; 

    }else 
    { 
     balance += amountToDeposit; 
     result = "$ " +amountToDeposit + " deposited. Balance is: " + balance; 
    } 
    return result; 
} 


public String transfer(double amountToTransfer, BankAccount recipient) 
{ 
    String result = ""; 
    recipient.withdrawal(amountToTransfer); 
    recipient.deposit(amountToTransfer); 
    result = recipient.withdrawal(amountToTransfer) + "\n" +  recipient.deposit(amountToTransfer);; 
    return result; 
} 
public double getBalance() { 
    return balance; 
} 
public void setBalance(double balance) { 
    this.balance = balance; 
} 
public String getAccountHolderName() { 
    return accountHolderName; 
} 
public void setAccountHolderName(String accountHolderName) { 
    this.accountHolderName = accountHolderName; 
} 
@Override 
public String toString() { 
    return "BankAccount [balance=" + balance + ", accountHolderName=" 
      + accountHolderName + ", getBalance()=" + getBalance() 
      + ", getAccountHolderName()=" + getAccountHolderName() + "]"; 
} 


} 

BankAccount person1 = новый BankAccount (500, "Steve");Поиск объекта-объекта

BankAccount person2 = новый BankAccount (700, "Bob");

в способе передачи im застрял на том, как im должен перевести деньги на person2.transfer (100, person1);

Я не знаю, как я мог бы вычесть 100 из объекта person2. спасибо за помощь

+1

В чем ваша проблема? Разве эта задача действительно отличается от вычитания в методе «снятия», который вы не можете решить самостоятельно? – fabian

+0

Ваш вопрос наиболее неясен и, похоже, не имеет ничего общего с вашим названием. Объекты не выполняются, потоки выполняются. – EJP

ответ

0

, когда вы находитесь внутри метода (transfer()) объекта (BankAccount), вы работаете g на объекте банковской учетной записи. поэтому вы можете ссылаться на другие переменные и методы, определенные в этом же объекте.

public void transfer(double amount, BankAccount recipient) 
{ 
    if (balance >= amount) 
    { 
     balance -= amount; 
     //this balance variable represents the balance in the bank account 
     //object this money is coming from. 
     recipient.balance += amount; 
     //this balance variable is the balance of the recipient. 
     } 
} 

Это Саид, Java Trails действительно хороши. Попробуйте это здесь. Java Trails: Objects объяснит вам, как работают объекты.

+0

Спасибо за помощь, и ссылка действительно ценит это! – superhamster

Смежные вопросы