gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 20:56:23 27 4
gpt4 key购买 nike

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

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

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

最佳答案

Java 反转 int 值 - 原理

  1. 将输入 int 修改 (%) 10 将提取最右边的数字。示例:(1234 % 10) = 4

  2. 将一个整数乘以 10 将“向左推”,在该数字的右侧显示一个零,例如:(5 * 10) = 50

  3. 将整数除以 10 将删除最右边的数字。 (75/10) = 7

Java 反转一个 int 值 - 伪代码:

一个。提取输入数字的最右边的数字。 (1234 % 10) = 4

b.取那个数字 (4) 并将其添加到一个新的 reversedNum 中。

c。将 reversedNum 乘以 10 (4 * 10) = 40,这会在 (4) 的右侧显示一个零。

d。将输入除以 10,(删除最右边的数字)。 (1234/10) = 123

e。在步骤 a 重复 123

Java 反转一个 int 值 - 工作代码

public int reverseInt(int input) {
long reversedNum = 0;
long input_long = input;

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

if (reversedNum > Integer.MAX_VALUE || reversedNum < Integer.MIN_VALUE) {
throw new IllegalArgumentException();
}
return (int) reversedNum;
}

在现实工作世界中,你永远不会做这样的事情。但是,您在没有帮助的情况下解决问题的过程将能够解决问题的人与想要解决问题的人区分开来,但除非他们被博客上的好人用勺子喂饱,否则无法解决问题。

关于Java 在不使用数组的情况下反转 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3806126/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com