package tools;import java.util.Arrays;public class Dds { public static void main(String args[]) { int test = 10; int[] group = {2,14,8,15,25,6,18,10 }; Arrays.sort(group); int bh3 = 0; for (int i = 0;i < group.length;i++) { System.out.println(group[i]); if (group[i] == test) { if (i == 0) { bh3 = group[i + 1]; } else if (i == group.length) { bh3 = group[i - 1]; } else { bh3 = (group[i-1] < group[i+1]) ? group[i-1] : group[i+1]; } } } System.out.println("ddddd " + bh3); } }
4楼的不太完整...>_<package test;import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class Test { public static void main(String args[]) throws Exception{ Test test = new Test(); List list = test.getNearNum(4); for(int j =0;j<list.size();j++){ System.out.println(list.get(j)); } } public List<Integer> getNearNum(Integer nearNum){ Integer a [] ={2,14,8,15,25,6,18 }; Arrays.sort(a); Integer c = 0;//相差值 Integer d = 0;//最接近值(小) Integer e = 0;//最接近值(大) List <Integer> list = new ArrayList<Integer>(); for(int i = 0;i<a.length;i++){ Integer cc = java.lang.Math.abs(a[i]-nearNum); if(c==0){ c =cc; d = a[i]; } if(cc==0){ d = a[i]; break; }else if(cc<c){ c = cc; d = a[i]; }else if (cc==c){ e = a[i]; }else if(cc>c){ break; } } list.add(d); if(e!=0&&e!=d){ list.add(e); } return list; } }
通过Arrays.sort()排序;
然后比较10之前和之后的数与10的差
public static void main(String args[]) {
int test = 10;
int[] group = {2,14,8,15,25,6,18,10 };
Arrays.sort(group);
int bh3 = 0;
for (int i = 0;i < group.length;i++) {
System.out.println(group[i]);
if (group[i] == test) {
if (i == 0) {
bh3 = group[i + 1];
} else if (i == group.length) {
bh3 = group[i - 1];
} else {
bh3 = (group[i-1] < group[i+1]) ? group[i-1] : group[i+1];
}
}
}
System.out.println("ddddd " + bh3);
}
}
import java.util.Arrays;
import java.util.List;public class Test {
public static void main(String args[]) throws Exception{
Test test = new Test();
List list = test.getNearNum(4);
for(int j =0;j<list.size();j++){
System.out.println(list.get(j));
}
}
public List<Integer> getNearNum(Integer nearNum){
Integer a [] ={2,14,8,15,25,6,18 };
Arrays.sort(a);
Integer c = 0;//相差值
Integer d = 0;//最接近值(小)
Integer e = 0;//最接近值(大)
List <Integer> list = new ArrayList<Integer>();
for(int i = 0;i<a.length;i++){
Integer cc = java.lang.Math.abs(a[i]-nearNum);
if(c==0){
c =cc;
d = a[i];
}
if(cc==0){
d = a[i];
break;
}else if(cc<c){
c = cc;
d = a[i];
}else if (cc==c){
e = a[i];
}else if(cc>c){
break;
}
}
list.add(d);
if(e!=0&&e!=d){
list.add(e);
}
return list;
}
}