A. java 兩個整數相除,如果有餘數則取整數再加一,怎麼寫
public class Test {
public static void main(String[]args){
int a = 8;
int b = 3;
int c = 0;
if(a%b!=0){
c = a/b+1;
}
}
}
B. Java中的一個除法的取整問題,如下圖我知道是因為取整的原因但是我想清楚是怎樣一個過程
原理很簡單,在java中所有名文寫在代碼里的數字,都被編譯器按照int類型處理,int類型變數之間進行四則運算結果春橋還是int類型的
time / (1000 * 60 * 60 * 24 * 365)
這個語句中,括弧內的乘法計算結果就是int類型的,但是這個乘積的結果超過了int的表示範圍了int 能表示的最大值 Integer.MAX_VALUE =2147483647 (本人系統MacOS10.15, jdk1.8, 不同系統不同版本jdk下,這個值可能不同,但是相差不大)
而你表達式括弧內的乘法結果是31536000000,已經遠大於int的表示盯枯范圍了,因此這個計算結果是越界的,錯誤的,所以最終得到的結果是錯誤凱森洞的
把第一個計算數改成long類型的,計算結果就會是正確的了
C. java的int的兩個類型相除,結果怎麼取捨
Java中有除法運算(/)和取余運算(%)。
如果是兩個int相除,取整除部分,忽略余數;
如果是兩個int取余,取余數部分,忽略整除。
如:
publicstaticvoidmain(String[]args){
intm=5;
intn=2;
System.out.println("整除:"+(m/n));//結果為2
System.out.println("取余:"+(m%n));//結果為1
}
D. 在java中怎麼對一個數字取整
在java中對一個數字取整方法很多
向上取整Math.ceil();
舉例:Math.ceil(11.4)=12; Math.ceil(-11.6)=-11;
2.向下取整Math.floor();
舉例:Math.floor(11.7)=11;Math.floor(-11.2)=-12;
3.四捨五入Math.round();
顧名思義,四捨五入後取整,其演算法為Math.round(x+0.5),即原來的數字加上0.5後再想下取整即可。
舉例:Math.round(11.5)=12;
Math.round(-11.5)=-11;
E. java做除法運算,為什麼除不開時也會得到整數呢
除法運算/的功能是有區別的。如果相除的兩個數都是整數,那麼結果也是整數,這叫做取整除法。比如,3/2,結果是1。如果其中有一個是浮點數,那麼就是浮點除法,結果是浮點數,比如,3.0/2,結果是1.5.
F. java除以一個數,能整除直接取商,如不能整除則只取整數部分,記得api里有方法能直接實現,哪位請告知
int cc = (int)Math.ceil(998/10);//向下鉛跡廳
int cc = (int)Math.floor(997/10);//向上