// Marty Stepp, CSE 142, Spring 2010 // This program shows methods to merge elements of 2/3 arrays, // and return the result. // Its purpose is to demonstrate returning arrays. import java.util.*; public class Merge { public static void main(String[] args) { int[] a3 = {12, 34, 56}; int[] a4 = {20, 50, 80, -1, 90}; int[] big = merge(a3, a4); System.out.println(Arrays.toString(big)); int[] a5 = {4, 19, -2, 6}; int[] big3 = merge3(a3, a4, a5); System.out.println(Arrays.toString(big3)); } // Returns a new array containing all elements of a1 // followed by all elements of a2. public static int[] merge(int[] a1, int[] a2) { int[] result = new int[a1.length + a2.length]; for (int i = 0; i < a1.length; i++) { result[i] = a1[i]; } for (int i = 0; i < a2.length; i++) { result[i + a1.length] = a2[i]; } return result; } // Returns a new array containing all elements of a1, a2, and a3. public static int[] merge3(int[] a1, int[] a2, int[] a3) { int[] result = new int[a1.length + a2.length + a3.length]; for (int i = 0; i < a1.length; i++) { result[i] = a1[i]; } for (int i = 0; i < a2.length; i++) { result[a1.length + i] = a2[i]; } for (int i = 0; i < a3.length; i++) { result[a1.length + a2.length + i] = a3[i]; } return result; } // Shorter version that calls merge. public static int[] merge3shorter(int[] a1, int[] a2, int[] a3) { return merge(merge(a1, a2), a3); } }