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呢?
虽然您的原始数字非零,但请将结果乘以10,然后将原始数除以10.
例如,假设您的原始数字是12345.从结果0开始.
如果你选择接受它,你的任务就是用Java实现它.:)(提示:除法和余数是Java中的单独操作.%
是余数运算符,/
是除法运算符.分别取余数,然后将原值除以10).