 AwkwardMonkey -5 years ago 103
Java Question

# Need help getting percent of a number

Basically in this website you can get credits and buy stuff with them. If you keep the credits in your bank, you get 0.12% added daily: I wanted to code a quick program to calculate this but I need help, here's my code:

``````import java.util.Scanner;

public class project {
public static void main(String[] args){
Scanner input = new Scanner(System.in);

System.out.println("-------------------------");
System.out.println("| NextGenUpdate Credits |");
System.out.println("-------------------------");
System.out.println("Credits: ");
double credits = input.nextDouble();
System.out.println("Days: ");
int days = input.nextInt();

int total = //DON'T KNOW WHAT TO PUT HERE

System.out.println("You will have have " + total + " credits in " + days + " days.");

}
}
`````` Hackerdarshi

I guess that you need to calculate the total credits after `days` days. For this, I would suggest `total` to be of `double` type, since it will most probably have floating point values.

You can do:

``````double total = credits * Math.pow((1+ 0.12/100d), days);
``````

The formula for compounding is :

A = P ( 1 + R/100)^n

Thus, your R is 0.12, P is `credits`, and n is `days`.

But since you want to use `int`, hence the value after decimal will be lost.

eg: 12.98 will give 12.

So, Instead, you can round off the value. You may use:

``````int total = (int)Math.rint(credits * Math.pow((1+ 0.12/100d), days));
``````
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download