如题,不是转字符串再换的方法
比如int a=12457122454,将a的高4位低4位互换后为245471221245
先将a转换为字符串,在互换,然后在转换回来。
这个我也会,我要的是不转字符窜的其他方法
@baoj2010:
你给的这个数已经超出范围了
int a=112678012;
int length=String.valueOf(a).length();
if(length>8){
int m=(int)Math.pow(10, length-4);
int end=a/m;
int top=a%10000;
int middle=a-m*end-top;
a=(int) (Math.pow(10, length-4)*top+middle+end);
System.out.println(a);
}如果你不用字符串求长度的话,自己写个方法也可以求
@baoj2010: length的长度也可以为8,把length>8改为>=8.
int 型 是 32位 的, 你什么意思啊
可以整除或者求余数 得到高四位与低四位 然后乘以10....加在一起 话说int 有那么大吗?不报错?????
还有个前提是不知道这个数是几位的,这是我今天遇到的蛋疼的面试题