Imagino que ese i lo incrementas dentro del while. No es una tontería, así siempre estás añadiendo los contactos en el numeros[0], dejando el resto sin inicializar (es decir, numeros[1] == null, numeros[2] == null, etc) quedándote siempre en el numeros[0] el último de la agenda porque lo estás machacando seguido, de ahí el nullexception.
Detalles jejeje. Me alegro haberte podido ayudar