取余运算:
System.out.println(99%100);//结果是99
System.out.println(99/10%10);//结果是9
为什么上述的结果不一样呢,要理解这个问题,就要知道一个规则:
取余运算:1)99除以100,被除数比除数小,所以余数是被除数本身,就是99。所以99%100=99
2)99除以10再%10,这要分两步看:
第一步:99/10,这是两个整型常量相除,所以结果也是一个整型常量,即结果是9;
第二步:用所得结果9%10,因为被除数比除数小,所以余数是被除数本身,即为9;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
知道了取余运算的规则,就可以获取各个位上的数:
int num=(int)(Math.random()*90000)+10000;//用Math.random()实现获取随机的五位数
int ge=num%10;//获取个位上的数
int shi=num/10%10;//获取十位上的数
int bai=num/100%10;//获取百位上的数
int qian=num/1000%10;//获取千位上的数
int wan=num/10000%10; //获取万位上的数
用循环的方式获取随机五位数各个位之和:
int sum=0; for(double i=0;i<5;i++) { sum=sum+(num/(int)(Math.pow(10, i)))%10;//Math.pow(a,b):返回a^b(double类型) }