Я написал программу, где, если набор массивов можно сказать {1, 3, 6, 7, 12}, он вернет свой минимальный разрыв между двумя числами. Другими словами, он сначала найдет различия между 3 и 1, 6 и 3, 7 и 6, а также 12 и 7. После того, как их различия будут достигнуты, он вернет наименьшую разницу, в нашем случае 1, начиная с 6-7 = 1. Например, если нам задан массив {60}, программа вернет 0. Теперь, если у нас есть массив {}, где ничего нет внутри, он также вернет 0. Однако я не могу заставить свою программу возвращать 0! Это исключает. Что я упустил? Как мне решить эту проблему? Вот моя программа:
public static void main(String[] args) {
int[] numberSet = {1, 3, 6, 7, 12};
//int[] numberSet = {};
System.out.println(minGap(numberSet));
}
public static int minGap(int[] numberSet) {
int[] differenceArray = new int[numberSet.length-1];
int smallestNum = 0;
if (numberSet.length < 2) {
return 0;
}
else {
for(int i = 0; i < numberSet.length-1; i++) {
differenceArray[i] = numberSet[i+1] - numberSet[i];
}
Arrays.sort(differenceArray);
smallestNum = differenceArray[0];
return smallestNum;
}
}
Спасибо заранее!