Java整数反转,java实现数字反转
首先,通过字符串转换int整数,并捕获溢出。
类别解决方案{
public int reverse(int x) {
长nums=0;
int temp=1;
尝试{
temp=x/math . ABS(x);
StringBuilder num=new StringBuilder();
num . append(math . ABS(x));
nums=long . parse long(num . reverse()。toString());
if(nums Math.pow(2,31) - 1) {
返回0;
}
} catch(异常e) {
//TODO:处理异常
返回0;
}
return(int)nums * temp;
}
}字符串转换效率低,使用库函数多。
(推荐视频教程:java视频教程)
二、盈余方式
类别解决方案{
public int reverse(int x) {
int ans=0;
而(x!=0) {
//判断溢出
if((ans * 10)/10!=ans) {
ans=0;
打破;
}
//ans*10不溢出。
ans=ans * 10 x % 10
x/=10;
}
返回ans
}
}(ans * 10)/10其中ans * 10,java虚拟机实际上是进行数值型提升的,就是在溢出的时候,用长数据临时存储,最后通过缩小转换,保留低32位数值,得到(ans * 10)/10!=ans .所以不能满足只能存储32位整数的条件。
相关文章和教程推荐:java入门。以上是java中整数求逆的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。