import java.util.Scanner;
import java.util.Random;

public class ArraysExample
{
    public static final void main(String[] args)
    {
        int[] arrayOfInt = new int[10];

        for (int i = 0; i < arrayOfInt.length; i ++)
        {
            arrayOfInt[i] = i * 2;
        }

        System.out.println("Length of arrayOfInt: " + arrayOfInt.length);
        for (int i = 0; i < arrayOfInt.length; i ++)
        {
            System.out.println("arrayOfInt[" + i + "] = " + arrayOfInt[i]);
        }
        System.out.println("");

        arrayOfInt[2] = 3;
        arrayOfInt[9] = 11;

        System.out.println("Length of arrayOfInt: " + arrayOfInt.length);
        for (int i = 0; i < arrayOfInt.length; i ++)
        {
            System.out.println("arrayOfInt[" + i + "] = " + arrayOfInt[i]);
        }
        System.out.println("");

        // Now here is an example of an array of dynamic size

        Scanner scanner = new Scanner(System.in);
        Random random = new Random();

        System.out.print("Enter in a positive number: ");
        int size = scanner.nextInt();
        System.out.println("");

        double[] randomDoubles = new double[size];

        for (int i = 0; i < randomDoubles.length; i ++)
        {
            randomDoubles[i] = random.nextDouble();
        }

        System.out.println("Length of randomDoubles: " + randomDoubles.length);
        for (int i = 0; i < randomDoubles.length; i ++)
        {
            System.out.println("randomDoubles[" + i + "] = " + randomDoubles[i]);
        }
        System.out.println("");
    }
}
