Java 如何在不将int转换为字符串的情况下反转int的顺序

Java 如何在不将int转换为字符串的情况下反转int的顺序,java,reverse,dereference,Java,Reverse,Dereference,我的任务是创建一个方法,该方法将接受用户输入的3位数int,并输出其反向(123-321)。我不允许将int转换为字符串,否则我将失去分数,我也不允许打印main以外的任何地方 public class Lab01 { public int sumTheDigits(int num) { int sum = 0; while(num > 0) { sum = sum + num % 10; num = num

我的任务是创建一个方法,该方法将接受用户输入的3位数int,并输出其反向(123-321)。我不允许将int转换为字符串,否则我将失去分数,我也不允许打印main以外的任何地方

public class Lab01
{
  public int sumTheDigits(int num)
   {
      int sum = 0;
      while(num > 0)
      {
         sum = sum + num % 10;
         num = num/10;
      }
      return sum;
   }

   public int reverseTheOrder(int reverse)
   {
      return reverse;
   }

   public static void main(String[] args)
   {
      Scanner input = new Scanner(System.in); 

      Lab01 lab = new Lab01();
      System.out.println("Enter a three digit number: ");
      int theNum = input.nextInt();
      int theSum = lab.sumTheDigits(theNum);
      int theReverse = lab.reverseTheOrder(theSum);

      System.out.println("The sum of the digits of " + theNum + " is " + theSum);
  }

您可以使用下面的方法来计算数字的倒数

public int reverseTheOrder(int reverse){
        int result = 0;
        while(reverse != 0){
            int rem = reverse%10;
            result = (result *10) + rem;
            reverse /= 10;
        }
      return result;
   }

您需要使用以下命令

  • %
    余数运算符
  • /
    除法运算符
  • *
    乘法
  • +
    添加
一旦你了解了这一点,你就可以进行实验(也许先在纸上进行实验),看看如何做到这一点
将它们按相反顺序放回(使用最后两个运算符)。但请记住,由于去掉了前导的0,以0结尾的数字(如980)将变为89。

我想这是因为回答家庭作业问题时,用“将此发送给你的老师,你现在得到了这个问题的及格分数“实际上对任何人都没有帮助。我假设在调试过程中,你可以在任何需要的地方打印。
Say you have a number 987
n = 987
r = n % 10 = 7   remainder when dividing by 10
n = n/10 = 98    integer division
Now repeat with n until n = 0, keeping track of r.