x=-10 % -4;
System.out.println("-10% -4 : "+x); //-2 second row
输出'-2'为什么在答案中为负值?
答案 0 :(得分:3)
%是余数除法。它是整数除法后剩余的数量。
x = -10 / -4; // == 2
和
x = -10 % -4; // == -2
后期可以认为是-10除以-4(即2),其余为-2。
看两个答案的绝对值是否不同可能更容易。
x = -10 / -3; // == 3
和
x = -10 % -3; == -1
答案 1 :(得分:1)
不幸的是,这是Java模运算符使用负数的方式。如果只需要正余数,则进行如下简单转换:
if(x < 0){
x = x * -1;
}