使用for循环在Java中反转整数

use*_*057 1 java reverse for-loop

这是一个家庭作业问题

如何用for循环反转Java中的整数?用户将输入整数(我不知道它将持续多长时间),我需要反转它.即:如果他们输入12345,我的程序返回54321.

这是catch,你不能在这个问题中使用String,StringBuffer,数组或其他高级结构.

我对我需要做的事情有基本的了解.我的问题是...在for循环中,条件不需要是x <整数的长度(位数)?没有String我该怎么做?

感谢您的任何输入,如果需要,我会添加更多信息.

编辑:

当然,在内省之后,我意识到我应该使用另一个for循环来做到这一点.我做的是创建一个for循环,通过除以10来计算数字:

       int input = scan.nextInt();
        int n = input;
        int a = 0;

           for (int x = 0; n > 0; x++){
               n = n/10;
                a = a + 1;
            }
Run Code Online (Sandbox Code Playgroud)

编辑2:

这就是我所拥有的

 int input = scan.nextInt();
        int n = input;
        int a = 0;
        int r = 0;
           for (int x = 0; n > 0; x++){
               n = n/10;
                a = a + 1;
            }
           for (int y = 0; y < n; y++) { 
                r = r + input%10;
                input = input/10;
            }
          System.out.println(input);
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它没有反转它,它只给了我数字.即:如果我输入1234,则返回1234.这对我没有任何意义,因为我将输入的最后一位数添加到r,那么为什么不是4321呢?

cHa*_*Hao 6

虽然您的原始数字非零,但请将结果乘以10,然后将原始数除以10.

例如,假设您的原始数字是12345.从结果0开始.

  1. 将结果乘以10并加5,得到5.(原始现在是1234.)
  2. 将结果乘以10并加4,得到54.(原来现在是123.)
  3. 将结果乘以10并加3,得到543.(原= 12)
  4. 乘以结果blah blah 5432.(original = 1.)
  5. 乘,添加,bam.54321.在int数学中,1/10为零.我们完成了.

如果你选择接受它,你的任务就是用Java实现它.:)(提示:除法和余数是Java中的单独操作.%是余数运算符,/是除法运算符.分别取余数,然后将原值除以10).


rge*_*man 5

您将需要使用数学来访问每个数字.以下是一些启动的提示:

使用%mod运算符提取数字的最后一位数字.使用/除法运算符删除数字的最后一位.如果数字中没有更多数字,请停止循环.