int myNumber = 490;int distance = Math.abs(numbers[0] - myNumber);int idx = 0;for(int c = 1; c < numbers.length; c++){ int cdistance = Math.abs(numbers[c] - myNumber); if(cdistance < distance){ idx = c; distance = cdistance; }}int theNumber = numbers[idx];始终使用要考虑的第一个元素初始化最小/最大函数。使用诸如
Integer.MAX_VALUE或
Integer.MIN_VALUE这样的东西是获得答案的幼稚方式;如果以后再更改数据类型(糟糕,
MAX_LONG而且
MAX_INT有很大不同!),或者将来您想
min/max为
任何 数据类型编写通用方法,它都不会很好。



