Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java)로 복리 이자를 계산하는 프로그램 작성하기

이 글에서는 자바(Java)를 활용해 복리 이자(Compound Interest)를 계산하는 방법을 단계별로 알아보겠습니다.

복리 이자 계산 공식

복리 이자는 아래 공식을 사용해 계산할 수 있습니다.

원금 × (1 + (이자율 / 100))^기간 − 원금

복리 이자란?

복리 이자는 원금뿐만 아니라 그동안 쌓인 이자에 대해서도 이자가 붙는 방식입니다. 이자가 이자를 낳는 구조이기 때문에 단리(Simple Interest) 방식에 비해 훨씬 높은 수익률을 기대할 수 있습니다.

실행 결과 미리 보기

입력 예시

원금을 입력하세요 : 100000
연 이자율을 입력하세요 : 5
기간(년)을 입력하세요 : 3

출력 예시

복리 이자는 : 15762.50000000001

알고리즘

STEP 1 – 시작
STEP 2 – double형 변수 principle(원금), rate(이자율), time(기간), compound_interest(복리 이자) 선언
STEP 3 – 사용자로부터 원금, 이자율, 기간 값을 입력받음
STEP 4 – "principle * Math.pow((1 + rate / 100), time) - principle" 연산으로 복리 이자를 계산하여 compound_interest 변수에 저장
STEP 5 – compound_interest 값 출력
STEP 6 – 종료

예제 1: 사용자 입력값으로 계산하기

아래 예제는 Scanner 객체를 사용해 사용자에게 값을 직접 입력받은 후 복리 이자를 계산합니다. 온라인 코딩 도구에서 직접 실행해 볼 수도 있습니다.

import java.util.Scanner;
public class CompoundInterest {
   public static void main (String args[]){
      double principle, rate, time, compound_interest;
      System.out.println("필요한 패키지를 가져왔습니다");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("Scanner 객체가 생성되었습니다");
      System.out.print("원금을 입력하세요 : ");
      principle = my_scanner.nextInt();
      System.out.print("연 이자율을 입력하세요 : ");
      rate = my_scanner.nextInt();
      System.out.print("기간(년)을 입력하세요 : ");
      time = my_scanner.nextInt();
      compound_interest = principle * (Math.pow((1 + rate / 100), time)) - principle;
      System.out.println("복리 이자는 : " + compound_interest);
   }
}

출력 결과

필요한 패키지를 가져왔습니다
Scanner 객체가 생성되었습니다
원금을 입력하세요 : 100000
연 이자율을 입력하세요 : 5
기간(년)을 입력하세요 : 3
복리 이자는 : 15762.500000000015

예제 2: 미리 정의된 값으로 계산하기

이번에는 사용자 입력 없이 코드 안에 값이 미리 정의되어 있는 경우입니다. 변수에 저장된 값을 읽어와 그대로 콘솔에 출력하고 복리 이자를 계산합니다.

public class CompoundInterest {
   public static void main (String args[]){
      double principle, rate, time, compound_interest;
      principle = 100000;
      rate = 5;
      time = 3;
      System.out.printf("원금은 %f \n이자율은 %f \n기간(년)은 %f", principle, rate, time);
      compound_interest = principle * (Math.pow((1 + rate / 100), time)) - principle;
      System.out.println("\n복리 이자는: " + compound_interest);
   }
}

출력 결과

원금은 100000.000000
이자율은 5.000000
기간(년)은 3.000000
복리 이자는: 15762.50000000001

마무리

두 예제 모두 Math.pow() 메서드를 활용해 거듭제곱을 손쉽게 처리한다는 점이 핵심입니다. 예제 1처럼 Scanner를 사용하면 다양한 조건을 유연하게 테스트할 수 있고, 예제 2처럼 값을 고정하면 로직 검증이 간편합니다. 실제 금융 계산 프로그램을 만들 때는 소수점 자릿수 처리(BigDecimal 또는 String.format)도 함께 고려하면 더욱 정확한 결과를 얻을 수 있습니다.