package javacodebook.collections.array.utils;

public class ArrayUtils {

    /** Ein byte-Array mit Zufallszahlen füllen */
    public static void fillRandom(byte[] array, byte upperBound) {
        for(int i = 0; i < array.length; i++) {
            array[i] = (byte)(Math.random()*upperBound);
        }
    }

    /** Ein short-Array mit Zufallszahlen füllen */
    public static void fillRandom(short[] array, short upperBound) {
        for(int i = 0; i < array.length; i++) {
            array[i] = (short)(Math.random()*upperBound);
        }
    }

    /** Ein int-Array mit Zufallszahlen füllen */
    public static void fillRandom(int[] array, int upperBound) {
        for(int i = 0; i < array.length; i++) {
            array[i] = (int)(Math.random()*upperBound);
        }
    }

    /** Ein long-Array mit Zufallszahlen füllen */
    public static void fillRandom(long[] array, long upperBound) {
        for(int i = 0; i < array.length; i++) {
            array[i] = (long)(Math.random()*upperBound);
        }
    }

    /** Ein double-Array mit Zufallszahlen füllen */
    public static void fillRandom(double[] array, double upperBound) {
        for(int i = 0; i < array.length; i++) {
            array[i] = (double)(Math.random()*upperBound);
        }
    }

    /** Ein float-Array mit Zufallszahlen füllen */
    public static void fillRandom(float[] array, float upperBound) {
        for(int i = 0; i < array.length; i++) {
            array[i] = (float)(Math.random()*upperBound);
        }
    }

    public static void printArray(byte[] array, java.io.PrintStream out) {
        for(int i = 0; i < array.length; i++)
            out.println(array[i]);
    }

    public static void printArray(short[] array, java.io.PrintStream out) {
        for(int i = 0; i < array.length; i++)
            out.println(array[i]);
    }

    public static void printArray(int[] array, java.io.PrintStream out) {
        for(int i = 0; i < array.length; i++)
            out.println(array[i]);
    }

    public static void printArray(long[] array, java.io.PrintStream out) {
        for(int i = 0; i < array.length; i++)
            out.println(array[i]);
    }

    public static void printArray(double[] array, java.io.PrintStream out) {
        for(int i = 0; i < array.length; i++)
            out.println(array[i]);
    }

    public static void printArray(float[] array, java.io.PrintStream out) {
        for(int i = 0; i < array.length; i++)
            out.println(array[i]);
    }

    public static void main(String[] args) {
        int[] array = new int[1000];
        fillRandom(array, 100);
        printArray(array, System.out);
    }
}
