我是Java新手,正在嘗試學習int和double的基本概念。有人可以告訴我,當我運行程序時,爲什麼0.0會打印出來而不是0.3333333?預先感謝任何幫助!除兩個'int'數字時不正確的'double'答案
int i = 1;
int j = 3;
double k = i/j;
System.out.println(k);
我是Java新手,正在嘗試學習int和double的基本概念。有人可以告訴我,當我運行程序時,爲什麼0.0會打印出來而不是0.3333333?預先感謝任何幫助!除兩個'int'數字時不正確的'double'答案
int i = 1;
int j = 3;
double k = i/j;
System.out.println(k);
因爲您正在做整數除法,它將結果截斷爲整數。
您需要將其中一個轉換爲雙倍。
double k = i/(double)j;
變化
double k = i/j;
到
double k = (double)i/(double)j;
您需要投操作數一個double
分裂之前。
你不能劃分兩個整數,並期望雙倍。
將它們聲明爲double
以開始或施放它們。
double k = (double)i/(double)j
//or
double i = 1;
double j = 3;
double k = i/j;
不需要同時施放int。一個會做:) –
@sᴜʀᴇsʜᴀᴛᴛᴀ+1。 –