Drill

ProblemsJava › validation

Keep a value inside its range

easyvalidationMathJava

A slider hands back whatever the user dragged it to, and the settings layer pins it into the range the setting allows.

clampToRange(amount: int, low: int, high: int) → int

Java needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.

Solve it in Python →

Where you start

int clampToRange(int amount, int low, int high) {
    
}

Worked examples

CallResult
clampToRange(5, 1, 10)5
clampToRange(0, 1, 10)1
clampToRange(99, 1, 10)10
clampToRange(5, 10, 1)5

Hint

Sort the bounds first and the rest is two comparisons.

Reference solution in Java
int clampToRange(int amount, int low, int high) {
    int lo = Math.min(low, high), hi = Math.max(low, high);
    return Math.min(hi, Math.max(lo, amount));
}

The same problem in another language

More validation problems in Java