1

Estoy haciendo una clase que convierte numeros pasandole el numero y la base

private String resultado;

private ArrayList<Integer> numeros;

public String convertir_a_base(Integer base, Integer numero) {
    numeros.add(numero);
    while(numeros.get(numeros.size()-1)!=0) {
        resultado = resultado + ((numeros.get(numeros.size()-1))%base);
        numeros.add(numeros.get(numeros.size()-1)/base);
    }
    return resultado;
}

He probado a hacerlo escribiendo directamente los numeros en el codigo y funciona bien... Alguna ayuda?

Arxeus
  • 13
  • 3
  • 6
    Posible duplicado de [¿Cuál es la solución a todos los errores NullPointerException presentes, pasados y futuros?](https://es.stackoverflow.com/questions/42977/cu%c3%a1l-es-la-soluci%c3%b3n-a-todos-los-errores-nullpointerexception-presentes-pasados) – Trauma Mar 15 '19 at 11:37

1 Answers1

2

Tu propiedad private ArrayList<Integer> numeros; tiene que ser inicializada. De lo contrario, numeros.add(numero); dará NullPointerException, al ejecutar add sobre numeros, que vale null.

En resumen, cambia private ArrayList<Integer> numeros = new ArrayList<>();

Por otro lado, declara números como List, no ArrayList. Declara interfaces, instancia clases.

private List<Integer> numeros = new ArrayList<>();

Pablo Fradua
  • 3,488
  • 10
  • 20