2014-12-12 6 views
0

나는 은행 계좌를 Java로 처리하는 프로그램을 가지고 있으며, 기능은 savingsHelper가 있어야합니다. 이제 사용자는 다음과 같은 작업을 수행해야합니다. 사용자가 일정한 관심 비율로 목표에 도달 할 때까지 필요한 시간을 계산합니다. 따라서 사용자는 아무 것도 추가하지 않고 관심이 자신의 목표를 달성 할 때까지 기다립니다. 이 출력한다 무엇Savingshelper Bank Account - 목표에 필요한 시간을 계산하십시오.

public void savingsHelper(double goal, double rate) 
{  
    double amount; 
    for (amount = 1; amount + balance < goal; amount+=1){ 
     System.out.println(amount); 
    } 
    double time = (amount*100)/(balance*rate); 
    System.out.format("(amount*100)/(balance*rate) = (%.0f*100)/(%.2f*%.2f) = %.2f%n", amount, balance, rate, time);   
    System.out.format("To reach %.2f$ from %.2f$ it would take %.2f month(s) at an interest rate of %.2f%%. %n", goal, balance, time, rate); 
} 

: 여기

내가 노력 코드입니다

... 
396.0 
397.0 
398.0 
(amount*100)/(balance*rate) = (399*100)/(1101.00*1.01) = 35.88 
To reach 1500.00$ from 1101.00$ it would take 35.88 month(s) at an interest rate of 1.01%. 

하지만 36.36 개월이 정확하지 않는 것라고 생각합니다. 또한 각 달러를 추가 한 후가 아니라 처음에는 잔액의이자 만 계산합니다 (이 경우 1101 $).

public double interest(double time, double rate) //In my case: time = 7 (months), rate = 1.01; 
{ 
    double interest = balance * time * rate/100; 
    balance = balance + interest; 
    return interest;   
} 

이 사람이 나를 도울 수 :

이것은 내 관심을 계산하는 방법이다?

답변

0

복리 계산을 위해 값을 삽입하면 goal = balance*rate^x이됩니다. x에 대해이 문제를 해결하면 필요한 수식을 얻을 수 있습니다. x은 목표에 도달하는 데 필요한 시간 단위 (귀하의 이자율이 잔액에 적용되는 금액)입니다. 이자율이 1 %라면 rate 변수에 1.01을 사용해야합니다.

+0

관심사가 아닌가요?'interest = balance * time * rate/100' 그것은 내 계산 방식입니다 ... – LinusGeffarth