gpt4 book ai didi

java - long 的最小值会引发异常

转载 作者:行者123 更新时间:2023-12-02 05:07:33 25 4
gpt4 key购买 nike

该方法应该反转一个长整数,但是当我使用 long 的最小值时,它会抛出异常。

public long reverse(long number)
//reverses a number
{
long newNumber = number;

if (number < 0)
{
newNumber *= -1l;
}
String numString = Long.toString(newNumber);
char[] numChars = numString.toCharArray();
numChars = reverse(numChars);
numString = String.valueOf(numChars);
newNumber = Long.parseLong(numString);

if (number < 0)
{
newNumber *= -1l;
}
return newNumber;
}

最佳答案

需要考虑的事情 - 也许使用整数可以达到你想要的效果:

伪代码:

int rev(const int ptest)
{
int reversed = 0;
int sign=(ptest<0)?-1:1
int k = abs(ptest);

while (k > 0)
{
reversed = base * reversed + k % 10;
k /= 10;
}
return reversed*sign;

}

关于java - long 的最小值会引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27640442/

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