うまくいけば、誰かがこのJava認定の質問に対する答えを知っているでしょう:
public static void main(String[] args) {
String[] sa = {"d", "c", "a", "b" };
int x = Arrays.binarySearch(sa, "b");
Arrays.sort(sa);
int y = Arrays.binarySearch(sa, "b");
System.out.println(x + " " + y);
}
可能な2つの結果はどれですか?(2つ選択してください。)
A)7 0
B)7 1
C)7 3
D)-1 0
E)-1 1
F)-1 3
唯一の真の答えはE)-1 1です。これは、binary-search-algorithmを実行する場合、これが唯一の可能な出力であるためです。しかし、彼らは私に2つを選択してほしいと思っています...したがって、2番目はB)7 1である必要があります。これは、ソートされた配列の2番目のbinarySearchが常にを返すため1
です。
だから私の質問は、なぜB)71が可能な結果なのかということです。より具体的に:ソートされていない配列の最初のbinarySearchが7を返すことはどのように可能ですか?
前もって感謝します