2016-04-14 83 views
-3

基本上在這個網站,你可以得到學分,並與他們購買的東西。如果保持信貸在銀行,你每天都得到增加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."); 

    } 
} 
+0

[快速谷歌搜索數學每日複合利息應該幫助](https://www.google。 de/search?q = math + compounded + interest&oq = math + compounded + interest&aqs = chrome..69i57j0l5.1350j0j7&sourceid = chrome&ie = UTF-8#q = math + daily + compounded + interest +) – SomeJavaGuy

回答

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)); 
+0

我希望他們輸入日期。我用這個代碼: double total = credits *(1+ 0.12/100d); 這是82學分的輸出,無論他們放了多少天: 您將在20天內擁有82.09840000000001學分。 – AwkwardMonkey

0

你問一個簡單的數學解決方案。如果你有100美元,並且想要給他100美元的0.12%,那麼你需要將他的100美元乘以0.12%,並將其加到原始值。 (或乘以100.12%)。重複每一天你想要做到這一點。 (請注意,第二天不會是100美元,但100.12美元,你計算100.12美元* 100.12%)

+1

他想要增加0.12%,而不是1.2%:) – deeveeABC

+0

謝謝,我在答覆中移動了逗號。 – PendingValue

+1

此外,它每天不只一次是0.12%。 – Hackerdarshi