자바에서 목돈 이자율 프로그램 작성하다가 질문합니다
대략적인 설명을 드리면 int day를 매개변수로 받아 getInterestRate()에서 double타입의 이자율이 얼마나 되는지를 받아내고
calculateAmount(int day,long amount)에서 getInterestRate()를 호출하여 이자를 얻어내고
double타입의 계산금액(예치금+이자)을 리턴합니다
1일~365일까지 하루씩 증가하면서 100만원을 예금햇을때 이자를 얼마나 받을 수 있는지 출력하도록 main()메소드에서
getInterestRate()메소드를 호출합니다.
그런데 도무지 문제자체가 이해가 안갑니다.
뭘 혼동하고 있는지 모르고 밑에는 일단 요구사항대로 짜본 소스입니다.
그 게산금액을 어떻게 해줘야 할지 의문입니다
public class InterestManager {
static InterestManager manager = new InterestManager();
int day;
public double getInterestRate(int day){
double interestRate = 0;
if(day<=90){
interestRate=0.005;
}
else if(day <= 180){
interestRate=0.01;
}
else if(day < 365){
interestRate=0.02;
}
else if(day >= 365){
interestRate=0.056;
}
return (double)interestRate;
}
public double calculateAmount(int day, long amount){
manager.getInterestRate(day);
amount+=(double)amount*getInterestRate(day);
return (double)amount;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int day=0;
double amount=100;
for(day=1 ; day<366 ; day++){
//manager.getInterestRate(day);
manager.calculateAmount(day, (long)amount);
}
//System.out.println(manager.calculateAmount(day, (long)amount));
}
}
1, 복리/단리여부, 그리고 복리일경우 일/월/년 복리여부
1, 복리/단리여부, 그리고 복리일경우 일/월/년 복리여부가 빠져있습니다.
그리고 어떤게 이해가 안가는지 말씀을 안하셨네요...
이자계산이라는게 사용일수 * 이율 * 원금 / 365일입니다. 여기에서 단/복리 여부에 따라 구간을 쪼개서 원금+이자한것에 이자를 만들것인가? 단순히 원금에 이자가 붙을것인가가 달라집니다.
그리고 올해와 같이 윤년이 있을경우 윤년은 366으로
그리고 올해와 같이 윤년이 있을경우 윤년은 366으로 계산해야 하는데 그 일자가 윤년과 윤년이 아닌일자가 겹쳐있으면 구간을 분리해서 계산해야 합니다.
댓글 달기