public class my{
    public static void main(String args[]){
        int a = 2;
        int b = 5;
        int c = a % b;
        
        System.out.println("c=" + c);
    }
}怎么是2呢?为什么不是0哪,%的运算是怎么个过程啊,各位指点一下吧,先谢谢了,

解决方案 »

  1.   

    %就是求余数运算
    A%B
    相当于
    while(A>B){
       A-=B;
    }
    return A;
      

  2.   

    对于int和long来说a % b = a - (a/b) * b
      

  3.   

    哈哈
    除数    被除数    商     余数
    c       b       s     y
    c=2
    b=5
    s=c/b
     =0
    y=c%b
     =2
      

  4.   

    楼上的说的基本清楚,
    2除以5,商0,余2,因为2除5的时候,2不够5大,所以挨用0来做商,0*5=0,2-0=2.
    所以余数=2
    你的商也可以是-1,那么余就是7,可是这样是没意义的,所以楼上的有个朋友这么写while(A> B){ 
          A-=B; 

    return   A;
    保证了返回的余数最大是本身