需要帮助获得一个数字的百分比

时间:2016-04-14 11:54:56

标签: java numbers

基本上在这个网站上你可以获得积分并用它们购买东西。如果您将积分保留在银行中,则每天会增加0.12%:

Picture to understand this.

我想编写一个快速程序来计算这个,但我需要帮助,这是我的代码:

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.");   

    }
}

2 个答案:

答案 0 :(得分:0)

我猜您需要在days天之后计算总积分。为此,我建议totaldouble类型,因为它很可能具有浮点值。

你可以这样做:

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

复合的公式是:

  

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

因此,你的R是0.12,P是credits,n是days

但是因为你想使用int,所以十进制之后的值将会丢失。

例如:12.98将给出12。

所以,相反,你可以四舍五入这个值。你可以使用:

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

答案 1 :(得分:0)

你要求一个简单的数学解决方案。如果你有100美元而想要给他100美元的0.12%,你需要将他的100美元乘以0.12%并将其加到原值。 (或乘以100.12%)。重复每天你想要这样做。 (请注意,第二天不是100美元,而是100.12美元,你计算100.12美元* 100.12%)