配列セットが{1、3、6、7、12}の場合、2つの数値間の最小ギャップを返すプログラムを作成しました。つまり、最初に 3 と 1、6 と 3、7 と 6、12 と 7 の違いを見つけます。それらの違いが得られた後、最小の違い (この場合は 1) を返します。 =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;
}
}
前もって感謝します!