两个整型数,不准用if 、switch 、?:等判断语句求出两者最大值。
不能使用api
------解决方案--------------------
不用比较运算符得到2个数字的更大值
我自己只找到2个方法。
------解决方案--------------------
int max=x*(1-((x-y)>>>31))+y*((x-y)>>>31);
这个没有问题了.
------解决方案--------------------
- Java code
public class Bigger { public static void main(String args[]){ int a = -2147483648; int b = 2147483647; String[] strArray = {"a>=b", "a<b"}; int i = (int)((long)a-(long)b >>> 63); System.out.println(strArray[i]); } } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/justinavril/archive/2009/04/29/4138182.aspx