当前位置: 首页 > 面试题库 >

Java不使用数组即可反转int值

轩辕弘雅
2023-03-14
问题内容

谁能向我解释如何在不使用数组或字符串的情况下反转整数。我从网上获得了此代码,但并没有真正理解为什么+输入%10并再次除法。

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

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


问题答案:

我不清楚你的奇数。该代码的工作方式是(不是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数组,可以交换项直到达到中点为止,如下所示: 这样,你将每个元素交换两次,因此结果与初始列表相同。

  • 我在尝试反转数组时遇到麻烦,它一直在打印这条消息,您可以帮助找出我做错了什么吗? 如果输入为: 则输出为:

  • 我刚刚开始学习递归,并能够使用它编写一个简单的阶乘程序,没有太多问题。现在我正在尝试编写一个递归方法,该方法以相反的顺序写入数组,但我不知道我做错了什么。我错过了什么?非常感谢。

  • 问题内容: 我有一个整数数组: 我需要一个类型集: 如果我执行以下操作: 它当然认为我的意思是: 而我的意思是: 这是因为int是基元。如果我使用过String,那么一切都会起作用: 如何轻松,正确和简洁地从以下位置进行: 至 谢谢! 问题答案: 一些进一步的解释。asList方法具有此签名 因此,如果您这样做: 或这个: 在这些情况下,我相信Java能够推断出您想要返回一个List,因此它会填充

  • 这段代码有两个问题: explext强制转换; 我想知道是否有一行的解决方案。 那么我们有没有更优雅的方法来做到这一点呢? 队列是否反向并不重要。我需要一个反转元素的int数组。

  • 问题 你想要反转数组元素。 解决方案 使用 JavaScript Array 的 reverse() 方法: ["one", "two", "three"].reverse() # => ["three", "two", "one"] 讨论 reverse() 是标准的 JavaScript 方法,别忘了带圆括号。