java中的整數相除

2021-08-26 22:11:26 字數 710 閱讀 3266

今天我在j2ee社群,遇到乙個人提問:

問題:1 / (n * (n + 1));n從1開始,一直加到1 / (19 * 20),但是在執行過程中,s不會變化

public class test while(n < 20);

system.out.println(s);}}

以下是執行結果:0.0

0.0 2

0.00.0 3

0.00.0 4

0.0......

分析:整數之間的「/」是取整除法,以上的例子中,1 / (n * (n + 1)) 每次的結果都只能是0

如果想要得到1 / (n * (n + 1))的小數值,那麼可以這樣寫:

public static void main(string args) while(n < 20);

system.out.println(s);

}

備註:(1)float和double都有固定的儲存的格式,這些格式都有國際標準,不是想讓它們有幾位小數就有幾位小數的;

(2)列印格式屬於資料顯示問題,而不是資料儲存的問題,完全可以使用一般的float或double的存資料,然後顯示時固定列印2位小數,方法是使用相關的格式化資料的類(如decimalformat)把數值格式化成想要格式的字串。

求兩整數相除 29 兩數相除

給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數 dividend 除以除數 divisor 得到的商。示例1 輸入 dividend 10,divisor 3 輸出 3 示例2 輸入 dividend 7,divisor...

華為機試 整數相除

兩個整數相除,將結果用字串返回。如果是迴圈小數,將迴圈的位用括號括起來。函式原型為 void div const int a,const int b,char str 輸入 1 3 輸出 0.3 include includeusing namespace std int maxn 100 設定字串...

整數相除時要注意

整數 整數 整數。當需要保留小數字時,需要強制型別轉換。表示式計算結果精度與被除數和除數中精度最高的看齊,見下例 int a 1024 int b 2048 int c 3 system.out.println a b c a b c system.out.println a float b c a...