import java.util.*;

/*
 * They begin by taking turns reading from a list of starting numbers (your puzzle input).
 * Then, each turn consists of considering the most recently spoken number:
 * 
 * If that was the first time the number has been spoken, the current player says 0.
 * Otherwise, the number had been spoken before; the current player announces how many turns
 * apart the number is from when it was previously spoken.
 */

public class Memory
{
    public Memory ()
    {
        _theMemory = new HashMap<Long, Long>();
    }

    public void addNumber (long numb)
    {

    }

    public long numberPresent (long numb)
    {
        return -1;
    }

    private HashMap<Long, Long> _theMemory;
}
@@ -471,18 +471,28 @@
 Memory (
+int number
 )%0A
-
     %7B%0A  
@@ -537,16 +537,156 @@
 ong%3E();%0A
+        _lastNumber = number;%0A%0A        _theMemory.put(number, 1);%0A    %7D%0A%0A    public long getLastNumber ()%0A    %7B%0A        return _lastNumber;%0A
     %7D%0A%0A 
@@ -806,24 +806,24 @@
  -1;%0A    %7D%0A%0A
-
     private 
@@ -854,9 +854,39 @@
 Memory;%0A
+    private long _lastNumber;%0A
 %7D

Update Memory.java