// onjava/Range.java // (c)2021 MindView LLC: see Copyright.txt // We make no guarantees that this code is fit for any purpose. // Visit http://OnJava8.com for more book information. // Create arrays initialized with integer values. package onjava; public class Range { // Produce sequence [start..end) incrementing by step public static int[] range(int start, int end, int step) { if(step == 0) throw new IllegalArgumentException("Step cannot be zero"); int sz = Math.max(0, step >= 0 ? (end + step - 1 - start) / step : (end + step + 1 - start) / step); int[] result = new int[sz]; for(int i = 0; i < sz; i++) result[i] = start + (i * step); return result; } // Produce a sequence [start..end) public static int[] range(int start, int end) { return range(start, end, 1); } // Produce a sequence [0..n) public static int[] range(int n) { return range(0, n); } }