您能解释一下这段代码的工作方式吗?我已经用任何输入尝试了它,它总是给出正确的结果。我认为他们将键设置为reversenum = reversenum * 10;
行,但我需要对此进行一些解释。
public static void main(String args[]) {
int num=123456789;
int reversenum =0;
while( num != 0 ){
reversenum = reversenum * 10;
reversenum = reversenum + num%10;
num = num/10;
}
System.out.println("Reverse of specified number is: "+reversenum);
}
最佳答案
您以123456789(num
)和0(reversenum
)开头。然后,将reversenum
乘以10:仍为0。num % 10
是num
除以10的余数:即为9,即成为reversenum
。然后将num
除以10,但是整数除法将得到分数结果的下限,因此您将得到12345678作为num
(不是12345678.9)。在第二遍中,将9(reversenum
)乘以10得到90,然后添加num
的最后一位:8。reversenum
变为98,而num
变为1234567。这一直持续到为0而num
为987654321;然后将满足reversenum
循环的条件。