Math.abs(n):对int、long、float、double类型的数取绝对值
其中 int 类型的数取值范围是 -2^31——2^31-1(-2147483648 ~ 2147483647)
举例:
System.out.println(Math.abs(-2147483647)); //输出结果:2147483647 System.out.println(Math.abs(-2147483648)); //输出结果:-2147483648
解决方法:
方法一:将里面的数据强制转化成long类型
long la = Math.abs((long)a); long lb = Math.abs((long)b);
方法二:都变成负数就不会越界了
if (a > 0) a = -a; if (b > 0) b = -b;