2016-01-04 63 views
1

我是Java新手,正在嘗試學習int和double的基本概念。有人可以告訴我,當我運行程序時,爲什麼0.0會打印出來而不是0.3333333?預先感謝任何幫助!除兩個'int'數字時不正確的'double'答案

int i = 1; 
    int j = 3; 
    double k = i/j; 
    System.out.println(k); 

回答

3

因爲您正在做整數除法,它將結果截斷爲整數。

您需要將其中一個轉換爲雙倍。

double k = i/(double)j; 
2

變化

double k = i/j; 

double k = (double)i/(double)j; 

您需要投操作數一個double分裂之前。

+2

不需要同時施放int。一個會做:) –

+2

@sᴜʀᴇsʜᴀᴛᴛᴀ+1。 –

2

你不能劃分兩個整數,並期望雙倍。

將它們聲明爲double以開始或施放它們。

double k = (double)i/(double)j 
//or 
double i = 1; 
double j = 3; 
double k = i/j;