public int recursiveSearch(int value, int... indexes) {
        if (indexes.length != 0 && indexes.length != 2) {
            throw new IllegalArgumentException("数组起始位置不对");
        }

        int startIndex = indexes.length == 0 ? 0 : indexes[0];
        int endIndex = indexes.length == 0 ? orderedArray.length : indexes[1];

        int middleIndex = (startIndex + endIndex) / 2;
        int middleValue = orderedArray[middleIndex];
        if (middleValue == value)
            return middleIndex;
        else if (endIndex < startIndex)
            return -1;
        else {
            if (value < middleValue)
                return recursiveSearch(value, startIndex, middleIndex - 1);
            else
                return recursiveSearch(value, middleIndex + 1, endIndex);
        }
    }