Let's solve the first problem in your lab not in the way you will have to. 

So I look at the link top of What's New? for yesterday. 

import java.util.ArrayList; 

public class Wednesday {
  public static ArrayList<Integer> merge(ArrayList<Integer> a, // a and b ascending 
                                         ArrayList<Integer> b) {
    ArrayList<Integer> result = new ArrayList<Integer>(); 
    while (a.size() > 0 || b.size() > 0) {
      if (a.size() == 0) {
        result.add( b.get(0) ); 
        b.remove(0);      
      } else if (b.size() == 0) {
        result.add( a.get(0) ); 
        a.remove(0);      
      } else {
         if (a.get(0) < b.get(0)) {
           result.add( a.get(0) ); 
           a.remove(0);           
         } else {
           result.add( b.get(0) ); 
           b.remove(0);      
         }
      } 

    }
    return result; 
  }
  public static ArrayList<Integer> sort(ArrayList<Integer> a) {
    ArrayList<Integer> b = new ArrayList<Integer>(); 
    for (Integer number : a) {
      ArrayList<Integer> c = new ArrayList<Integer>(); 
      c.add( number ); 
      b.add( c );
    }
    while (b.size() > 1) {
      ArrayList<Integer> d = b.get(0); 
      ArrayList<Integer> e = b.get(1);
      b.remove(0); // I just got rid of d (from b)  
      b.remove(0); // I just got rid of e (from b)  
      b.add( Wednesday.merge( d, e ) ); 
    }
    return b.get(0); 
  }
  public static void main(String[] args) {
    ArrayList<Integer> numbers = new ArrayList<Integer>(); 
    for (String number : args) {
      numbers.add( Integer.parseInt( number ) ); 
    } 
    ArrayList<Integer> sorted = Wednesday.sort( numbers );     
    System.out.println( sorted ); 
  }   
}

So we tried the code above and there's just one mistake: 

import java.util.ArrayList; 

public class Wednesday {
  public static ArrayList<Integer> merge(ArrayList<Integer> a, // a and b ascending 
                                         ArrayList<Integer> b) {
    ArrayList<Integer> result = new ArrayList<Integer>(); 
    while (a.size() > 0 || b.size() > 0) {
      if (a.size() == 0) {
        result.add( b.get(0) ); 
        b.remove(0);      
      } else if (b.size() == 0) {
        result.add( a.get(0) ); 
        a.remove(0);      
      } else {
         if (a.get(0) < b.get(0)) {
           result.add( a.get(0) ); 
           a.remove(0);           
         } else {
           result.add( b.get(0) ); 
           b.remove(0);      
         }
      } 

    }
    return result; 
  }
  public static ArrayList<Integer> sort(ArrayList<Integer> a) {
    ArrayList<ArrayList<Integer>> b = new ArrayList<ArrayList<Integer>>(); 
    for (Integer number : a) {
      ArrayList<Integer> c = new ArrayList<Integer>(); 
      c.add( number ); 
      b.add( c );
    }
    while (b.size() > 1) {
      ArrayList<Integer> d = b.get(0); 
      ArrayList<Integer> e = b.get(1);
      b.remove(0); // I just got rid of d (from b)  
      b.remove(0); // I just got rid of e (from b)  
      b.add( Wednesday.merge( d, e ) ); 
    }
    return b.get(0); 
  }
  public static void main(String[] args) {
    ArrayList<Integer> numbers = new ArrayList<Integer>(); 
    for (String number : args) {
      numbers.add( Integer.parseInt( number ) ); 
    } 
    ArrayList<Integer> sorted = Wednesday.sort( numbers );     
    System.out.println( sorted ); 
  }   
}

Here's how this works now: 

-bash-4.2$ nano -w Wednesday.java
-bash-4.2$ javac Wednesday.java
Picked up _JAVA_OPTIONS: -Xms512m -Xmx512m
-bash-4.2$ java Wednesday 4 3 2 5 1 7 6
[1, 2, 3, 4, 5, 6, 7]
-bash-4.2$ java Wednesday 4 3 2 5 1 7 6 3 3 3
[1, 2, 3, 3, 3, 3, 4, 5, 6, 7]
-bash-4.2$ 

--