您能解释一下这段代码的工作方式吗?我已经用任何输入尝试了它,它总是给出正确的结果。我认为他们将键设置为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 % 10num除以10的余数:即为9,即成为reversenum。然后将num除以10,但是整数除法将得到分数结果的下限,因此您将得到12345678作为num(不是12345678.9)。在第二遍中,将9(reversenum)乘以10得到90,然后添加num的最后一位:8。reversenum变为98,而num变为1234567。这一直持续到为0而num为987654321;然后将满足reversenum循环的条件。

10-04 12:50