- Java Basic Programs
- Java Programming Examples
- Java Print Hello World
- Java Get Input from User
- Java Print Integer
- Java Add two Numbers
- Java Check Even or Odd
- Java Check Prime or Not
- Java Check Alphabet or Not
- Java Check Vowel or Not
- Check Reverse equal Original
- Java Fahrenheit to Celsius
- Java Celsius to Fahrenheit
- Java Perfect Number Program
- Java Find Quotient Remainder
- Java Days to Seconds
- Java Count Digits in Number
- Java Binary Number Addition
- Java Discount Program
- Java Compute Courier Charge
- Java Find Telephone Bill
- Java Print ASCII Values
- Java Check Palindrome or Not
- Java Check Armstrong or Not
- Generate Armstrong Numbers
- Add two Numbers using Pointers
- Java Mathematical Programs
- Add Subtract Multiply & Divide
- Java Make Calculator
- Java Add Digits of Number
- Java Check Leap Year or Not
- Java Check Divisibility
- Java Find Simple Interest
- Java Find Compound Interest
- Java Print Fibonacci Series
- Java Find nCr nPr
- Calculate Average & Percentage
- Java Calculate Arithmetic Mean
- Java Calculate Student Grade
- Java Print Table of Number
- Java Print Prime Numbers
- Java Add n Numbers
- Java Interchange two Numbers
- Java Reverse Numbers
- Java Swap two Numbers
- Count Positive Negative & Zero
- Find Largest of two Numbers
- Find Largest of three Numbers
- Java Find Factorial of Number
- Java Find HCF & LCM
- Area & Perimeter of Square
- Area & Perimeter of Rectangle
- Area & Circumference of Circle
- Java Conversion Programs
- Java Decimal to Binary
- Java Decimal to Octal
- Java Decimal to Hexadecimal
- Java Binary to Decimal
- Java Binary to Octal
- Java Binary to Hexadecimal
- Java Octal to Decimal
- Java Octal to Binary
- Java Octal to Hexadecimal
- Java Hexadecimal to Decimal
- Java Hexadecimal to Binary
- Java Hexadecimal to Octal
- Java Pattern Programs
- Java Pattern of Stars
- Java Pattern of Alphabets
- Java Pattern of Numbers
- Java Pyramid of Stars
- Java Pyramid of Alphabets
- Java Pyramid of Numbers
- Java Print Diamond Pattern
- Java Print Floyd Triangle
- Java Print Pascal Triangle
- Java Array Programs
- One Dimensional Array Program
- Java Linear Search
- Java Binary Search
- Find Largest Element in Array
- Find Smallest Element in Array
- Java Reverse Array
- Insert Element in Array
- Delete Element from Array
- Java Merge two Array
- Java Bubble Sort
- Java Selection Sort
- Java Insertion Sort
- Java Find Common Elements
- Java Count Even/Odd Number
- Two Dimensional Array Program
- Java Add two Matrices
- Java Subtract two Matrices
- Java Transpose Matrix
- Multiply two Matrices
- Three Dimension Array Program
- Java String Programs
- Java Print String
- Find Length of String
- Java Compare two String
- Java Copy String
- Java Concatenate String
- Java Reverse String
- Delete Vowels from String
- Delete Words from Sentence
- Find Occurrence of a Character
- Java Find Occurrence of a Word
- Occurrence of Each Character
- Java Occurrence of Each Word
- Java Count Repeated Characters
- Java Count Repeated Words
- Java Capitalize Each Word
- Java Count Vowels/Consonants
- Java Extract Numbers
- Java Count Word in String
- Remove Spaces from String
- Java Sort a String
- Java Uppercase to Lowercase
- Java Lowercase to Uppercase
- Java Swap two Strings
- Java Check Anagram or Not
- Java Check Balance Parentheses
- Java Check Password Strength
- Java File Programs
- Java Read File
- Java Write to File
- Read & Display File Content
- Java Copy File
- Java Append Text to File
- Java Merge two File
- List files in Directory
- Java Delete File
- Java Miscellaneous Programs
- Generate Random Numbers
- Java Print Time & Date
- Java Get IP Address
- Java Shutdown Computer
- Java Programming Tutorial
- Java Tutorial

# Java Program to Calculate Compound Interest

This article is created to cover a program in Java that find and prints compound interest based on the data provided by user at run-time of the program.

The formula to find compound interest is:

CI = (1 + r/n)^{(nt)}- p

where **CI** indicates to Compound Interest, **p** indicates to Principal Amount, **r** indicates to the Annual Rate
of Interest, **t** is Time Period for which the money is invested or borrowed, and **n** indicates to the Number of Times
that the interest is compounded per unit **t**.

**Note - **If the interest is compounded monthly, then the value of **n** would be 12. If the interest is compounded
quarterly, then the value of **n** would be 4, and so on. This happens when **t** is in years.

The question is, *write a Java program to find and print the compound interest based on the data such as p, r,
t, and n values. The data must be received by user at run-time of the program.* The program given
below is its answer:

import java.util.Scanner; public class CodesCracker { public static void main(String[] args) { double p, r, t, n, ci; Scanner s = new Scanner(System.in); System.out.print("Enter the Value of p (Principal Amount): "); p = s.nextDouble(); System.out.print("Enter the Value of r (Annual Rate of Interest): "); r = s.nextDouble(); System.out.print("Enter the Value of t (Time Period): "); t = s.nextDouble(); System.out.print("Enter the Value of n (Number of Times, Interest is Compounded): "); n = s.nextDouble(); ci = p * Math.pow(1 + (r/n), (n*t)) - p; System.out.println("\nCompound Interest = " +ci); } }

The snapshot given below shows the sample run of above Java program with user inputs **10000** as principal amount,
**3.5** as rate of interest, **5** as time period, and **12** as number of times that the interest is compounded:

The above program can also be created in this way. This program prints the value of **Amount** too.

import java.util.Scanner; public class CodesCracker { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print("Enter the Value of p: "); float p = s.nextFloat(); System.out.print("Enter the Value of r: "); float r = s.nextFloat(); System.out.print("Enter the Value of t: "); float t = s.nextFloat(); System.out.print("Enter the Value of n: "); float n = s.nextFloat(); float amount = p * (float)Math.pow(1 + (r/n), (n*t)); float ci = amount - p; System.out.println("\nAmount = " +amount); System.out.println("Compound Interest = " +ci); } }

Here is its sample run with user input **10000** as **p**, **0.08** as **r**, **1** as **t**, and **12**
as **n**:

« Previous Program Next Program »