2016-03-27 17 views
0

Banka işlemlerine ilgi göstermeye çalışıyorum. Ana hedef, 2000 yılı boyunca işlemlerde% 0,05 veya% 5'e sahip olmaktır. Tasarruf hesapları için% 0,02 veya% 2, bir kontrol hesabı için% 0'dır.Bir banka işlemine faiz yatırımı. Farklı hesaplar için değişen ilgi alanları çalışmıyor mu?

Bu nedenle, herhangi bir para yatırma işleminden önce, doğru faizin verildiği bir çek faiz yöntemim var. Diğer çıkarları geçersiz kılmaksızın% 0 çalışamadım. Kodum varsayılan olarak böyle görünüyor.

public void checkInterest(double amount){ 

if(balance + amount <= 2000){ 

    interest = 0.02; 
    } 
    else{ 
     interest = 0.05; 
    } 

Son denemem buydu.

public void checkInterest(double amount){ 

if(balance + amount <= 2000){ 

    interest = 0.02; 
    } 
    else{ 
     interest = 0.05; 
    } 
    if(Checking.accountType == "checking"){ 

    interest = 0.00; 
} 
} 

Bunu yaparsam, geçersiz kılmayı sürdürür ve% 0 düz verir. Ayrıca Checking.accountType! = Null kullanmayı denedim, ancak bu da işe yaramadı.

İşaretçiler var mı? Bu sadece akademik çalışma içindir. Böyle karşılaştırmak gerekir, hesap türü bir String ise

+1

Olası kopyalar (http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – Henry

+0

@Henry sadece bir .equals() için değiştirdi ve şans yok. Belki de kodumda başka bir yere yanlış giden bir şey oldu ama söylemesi zor, çünkü her yöntemin içinden geçmek doğru olmalı. – danielwishart

+0

Kodun yanlış gittiğini görmek için hata ayıklayıcısını kullanarak ilerleyin. – Henry

cevap

0

(ayrıca, sadece bir acemi bu kadar kolay değilim): Ayrıca

if(Checking.accountType.equals("checking")){

, kendi checkInterest değiştirmek isteyebilirsiniz interest değerini döndürmek için yöntem.

public double checkInterest(double amount){ 
    double interest; 
    // Calculate interest rate here 
    return interest; 
} 
[Java dizeleri karşılaştırmak nasıl?] Arasında
İlgili konular