public class ArrayPlay
{
	public static void main(String args[])
	{	
		// alternate way of using an initializer list
		String [] names;
		names = new String[] {"a", "b"};
		
		for (String name : names)
			System.out.println(name);
		
		System.out.println("Two arrays maybe?\n");
		// what about using arrays as a whole
		double [] arr1, arr2;
		arr1 = new double [] {4.5, 3.5, 6, 7.2, 1.5, 1.9, 12, 92, 6, 10};
		
		// what will this do?
		arr2 = arr1;
		
		for( int ii = 0; ii < arr1.length; ii++)
		{
			System.out.println(arr1[ii] + "\t" + arr2[ii]);
		}
		System.out.println(arr2.equals(arr1));
/*		
		System.out.println("Two arrays maybe?\n");
		// what will this do?
		arr2[3] = 99.9;
		
		for( int ii = 0; ii < arr1.length; ii++)
		{
			System.out.println(arr1[ii] + "\t" + arr2[ii]);
		}
		
		// this is what we call a deep copy
		// first refresh arr2.
		System.out.println("Deep copy\n");		
		arr2 = new double[arr1.length];
		
		for (int ii = 0; ii < arr1.length; ii++)
		{
			arr2[ii] = arr1[ii];
		}
				System.out.println(arr2.equals(arr1));
/*
		for( int ii = 0; ii < arr1.length; ii++)
		{
			System.out.println(arr1[ii] + "\t" + arr2[ii]);
		}
		System.out.println("Deep copy and change one element\n");		
		// and now changing one element
		arr2[7] = 999.999;
		
		for( int ii = 0; ii < arr1.length; ii++)
		{
			System.out.println(arr1[ii] + "\t" + arr2[ii]);
		}	
/*		
		// call our methods
		boolean [] equals;
		
		System.out.println():		
		if (equal(arr1, arr2))
			System.out.println("The two arrays contain the same elements");
		else
			System.out.println("The two arrays contain different elements");
		System.out.println():
/*			
		equals = equalElement(arr1, arr2);
		
		for (int ii = 0; ii < arr1.length; ii++)
		{
			System.out.println(arr1[ii] + "\t" + arr2[ii] + "\t" + equals[ii]);
		}	
*/	}
	
	// method will take in two arrays and return true if equal contents
	public static boolean equal(double [] arr1, double [] arr2)
	{
		boolean result;
		if(arr1.length == arr2.length)
			result = false;
		else
		{
			result = true;
		
			for (int ii = 0; ii < arr1.length && result; ii++)
				if (arr1[ii] != arr2[ii])
					result = false;
		}
		
		return result;
	}
	
	// method will take in two arrays and return an array of boolean
	// if the corresponding elements match, true is in that spot, otherwise, false.
	public static boolean[] equalElement(double [] arr1, double [] arr2)
	{
		boolean [] result;
		
		if (arr1.length != arr2.length)
			result = null;
		else
		{
			result = new boolean[arr1.length];
		
			for (int ii = 0; ii < arr1.length; ii++)
			{
				result [ii] = arr1[ii] == arr2[ii];
			}
		}
		return result;
	}
}