문제 :
은행에 정기예금을 들려고 한다. 원금과 연이율을 키보드를 통해 입력 받아 원리금이 원금의 두 배를 초과할 때까지 필요한 연도 수를 출력하는 프로그램을 설계한 후 작성하라. 또한 매년 원금과 이자를 합한 원리금을 출력해야 한다. 1년 정기예금을 신규로 든다면 원리금을 구하는 공식은 다음과 같다.
원리금 = 원금 * (1 + (연이율 / 100))
문제 풀이 :
import java.util.Scanner;
// Year 클래스
public class Year {
//main 메소드
public static void main(String[] args) {
//변수 선언
double principal;//원금
double interest;//연이율
double principal_and_interest;//원리금
int year;//원리금이 원금의 두배를 초과할 때까지 걸리는 년수
//스캐너 객체 생성
Scanner scan = new Scanner(System.in);
//원금과 연이율을 입력받는다
System.out.print("원금을 입력하세요: ");
principal = scan.nextDouble();
System.out.print("연이율을 입력하세요: ");
interest = scan.nextDouble();
System.out.println();
//출력 결과 포맷대로 출력
System.out.println("연도수 원리금");
//year 0으로 초기화
year=0;
//현재 원리금은 원금과 같다
principal_and_interest = principal;
//반복문을 돌며 원리금이 원금의 두배를 초과할 때까지 year++을 한다
while(principal_and_interest <= (principal * 2)){
year++;
//원리금 = 원금 * (1 + (연이율 / 100))
principal_and_interest = principal_and_interest * (1 + (interest / 100));
System.out.println(year + " " + principal_and_interest);
}
//원리금이 원금의 두배를 초과할 때까지 걸리는 년수를 출력한다
System.out.println();
System.out.println("필요한 연도수 = " + year);
//스캐너 객체 닫아주기
scan.close();
}
}