import java.util.Arrays;
public class SmallestDifference {
public static void main(String[] args) {
int[] nums = {6, 12, 34, 58, 21, 45}; //输入6个数字
int target = 50; //目标数字
//对输入的数字进行排序
Arrays.sort(nums);
int minDiff = Integer.MAX_VALUE; //初始化最小差值
int i = 0;
//遍历数组找出最小差值
while (i < nums.length - 1) {
if (Math.abs(nums[i] - target) < minDiff) {
minDiff = Math.abs(nums[i] - target);
}
i++;
}
System.out.println("最小差值为:" + minDiff);
}
}
在这个解决方法中,我们首先将输入的数字进行排序,然后遍历数组,找出最小差值并输出。由于我们已经排好序,所以只需比较相邻的两个数字的差值即可。