record Range(int lowest, int highest) {}

/// Returns the smallest and largest values in an array.
Range minMax(int[] numbers) {
    int lowest = numbers[0];
    int highest = numbers[0];
    for (int number : numbers) {
        if (number < lowest) {
            lowest = number;
        }
        if (number > highest) {
            highest = number;
        }
    }
    return new Range(lowest, highest);
}

void main() {
    int[] numbers = {5, 2, 9, 1};
    Range result = minMax(numbers);
    IO.println(result);
    IO.println("from " + result.lowest() + " to " + result.highest());
}

// From Groundwork, chapter 10 (ch10-records), box 6.
// This example is from Groundwork, licensed CC BY-NC-SA 4.0.
// Run with: java ch10_06.java
