2016-08-05 66 views
0

我正試圖運行一個計算感興趣後的餘額的程序。我很容易得到它與運行:如何在此代碼中將int更改爲double?

public class bigjavach1p7balprob{ 
    public static void main(String[] args){ 
    double balance = 10000.0; 
    int year = 0; 

    while (balance < 20000){ 
     year += 1; 
     double interest = balance * .05; 
     balance = balance + interest; 

     System.out.println("year " + year + ": " + balance); 

    } 
    } 
} 

,但我想有平衡爲int第一,然後將其轉換添加興趣時增加一倍。我有:

import java.util.*; 

public class bigjavach1p7balprob{ 
    public static void main(String[] args){ 
    int balance = 10000; 
    int year = 0; 

    while (balance < 20000){ 
     year += 1; 
     double interest = (double)balance * .05; 
     balance = Integer.parseInt(balance) + interest; 

     System.out.println("year " + year + ": " + balance); 

    } 
    } 
} 

這不是編譯或運行。

+0

你有什麼理由要這樣做? –

+0

如果這是爲了平衡整個美元的金額,你要怎麼輪?下? Half-Up *(正如我們在學校學到的)*?半雙*(銀行家四捨五入)*?向上? – Andreas

回答

1

編譯錯誤的原因是Integer.parseInt()需要String而不是int

如果你想在balance更改爲一個整數(整數),你可以將其轉換爲int(即使它是一個double):

balance = (int) (balance + interest) 

但你不能真正改變變量的類型。

相關問題