猿问

Java在不使用数组的情况下反转int值

Java在不使用数组的情况下反转int值

任何人都可以向我解释如何在不使用数组或字符串的情况下反转整数。我从网上得到了这个代码,但不是很明白为什么+输入%10并再次划分。

while (input != 0) {
    reversedNum = reversedNum * 10 + input % 10;
    input = input / 10;   }

以及如何使用此示例代码仅反转奇数。示例我得到了此输入12345,然后它将奇数反转为输出531。


拉风的咖菲猫
浏览 529回答 3
3回答

当年话下

我不清楚你的奇数。此代码的工作方式是(它不是Java特定的算法)例如。输入= 2345第一次在while循环中rev = 5输入= 234第二次rev = 5 * 10 + 4 = 54输入= 23第三次rev = 54 * 10 + 3输入= 2第四次rev = 543 * 10 + 2输入= 0所以反转的数字是5432.如果你只想要反转数字中的奇数,那么。代码是:while (input != 0) {         last_digit = input % 10;     if (last_digit % 2 != 0) {              reversedNum = reversedNum * 10 + last_digit;     }     input = input / 10; }

蛊毒传说

Java反转int值 - 原则将输入int修改(%)10将从最右边的数字中提取。例如:(1234%10)= 4将整数乘以10将“向左推”,在该数字的右侧显示零,例如:(5 * 10)= 50将整数除以10将删除最右边的数字。(75/10)= 7Java反转一个int值 - 伪代码:一个。提取输入数字的最右边数字。(1234%10)= 4湾&nbsp;取该数字(4)并将其添加到新的reversedNum中。C。将reversedNum乘以10(4 * 10)= 40,这会在您的(4)右侧显示零。d。将输入除以10,(删除最右边的数字)。(1234/10)= 123即&nbsp;用步骤123重复步骤123Java反转int值 - 工作代码public&nbsp;int&nbsp;reverseInt(int&nbsp;input)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;reversedNum&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;input_long&nbsp;=&nbsp;input; &nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(input_long&nbsp;!=&nbsp;0)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reversedNum&nbsp;=&nbsp;reversedNum&nbsp;*&nbsp;10&nbsp;+&nbsp;input_long&nbsp;%&nbsp;10; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;input_long&nbsp;=&nbsp;input_long&nbsp;/&nbsp;10; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(reversedNum&nbsp;>&nbsp;Integer.MAX_VALUE&nbsp;||&nbsp;reversedNum&nbsp;<&nbsp;Integer.MIN_VALUE)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;IllegalArgumentException(); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(int)&nbsp;reversedNum;}在真实的工作环境中,你永远不会做这样的事情。然而,你在没有帮助的情况下使用它来解决问题的过程将能够解决问题的人与那些想要解决问题的人区分开来,但除非他们被博客上的好人用勺子喂食,否则就不能分开。

jeck猫

只需你可以使用它public&nbsp;int&nbsp;getReverseInt(int&nbsp;value)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;resultNumber&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;value;&nbsp;i&nbsp;!=0;&nbsp;i&nbsp;/=&nbsp;10)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resultNumber&nbsp;=&nbsp;resultNumber&nbsp;*&nbsp;10&nbsp;+&nbsp;i&nbsp;%&nbsp;10; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;resultNumber;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}您可以将此方法与您想要反转的给定值一起使用。
随时随地看视频慕课网APP

相关分类

Java
我要回答