2016-08-25 7 views
-2

Я создаю очень основную программу банковского счета для домашней работы, и я продолжаю получать логическую ошибку. Вместо программы, дающей общий баланс после внесения, снятия и добавления процентов, он просто выводит сумму, депонированную - отозванную. Я ценю помощь, спасибо!Ошибка учетной записи программы банковского счета

public class BankAccount 
{ 

    public BankAccount(double initBalance, double initInterest) 
    { 
     balance = 0; 
     interest = 0; 
    } 

    public void deposit(double amtDep) 
    { 
     balance = balance + amtDep; 
    } 

    public void withdraw(double amtWd) 
    { 
     balance = balance - amtWd; 
    } 

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

    public double checkBal() 
    { 
     return balance; 
    } 

    private double balance; 
    private double interest; 
} 

испытаний Класс

public class BankTester 
{ 

    public static void main(String[] args) 
    { 
     BankAccount account1 = new BankAccount(500, .01); 
     account1.deposit(100); 
     account1.withdraw(50); 
     account1.addInterest(); 
     System.out.println(account1.checkBal()); 
     //Outputs 50 instead of 555.5 
    } 

} 
+1

Вы не правильно инициализируете свои переменные. У вас должен быть баланс = initBalance; интерес = initInterest'. –

+1

Голоса без объяснений не помогают. Они также могут препятствовать новым пользователям обращаться за помощью или советом. I считают, что следует избегать вопроса о новых голосах с правом голоса. Для тех, кто я рекомендую обратное: объяснение без нисходящего голосования. – c0der

ответ

4

Я считаю, проблема заключается в вашем конструкторе:

public BankAccount(double initBalance, double initInterest) 
{ 
    balance = 0; // try balance = initBalance 
    interest = 0; // try interest = initInterest 
} 
4

Меняйте конструктор в

public BankAccount(double initBalance, double initInterest) 
    { 
     balance = initBalance; 
     interest = initInterest; 
    } 

Вы не присваивая значение вы передаете конструктору к переменным экземпляра

2

В конструкторе вы по умолчанию присваиваете значения как 0 для баланса и процентов, вместо этого назначайте параметры метода. Заменить приведенный ниже код

public BankAccount(double initBalance, double initInterest) 
{ 
    balance = 0; 
    interest = 0; 
} 

public BankAccount(double initBalance, double initInterest) 
{ 
    this.balance = initBalance; 
    this.interest = initInterest; 
} 

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

  • Нет связанных вопросов^_^