Función de escritura que es la matriz de retorno de factores primos

Tengo una función que devuelve los factores primos de un número, pero cuando inicializo la matriz int, configuro el tamaño, por lo que el resultado consiste en ceros innecesarios . ¿Cómo puedo devolver la matriz de resultados sin ceros o cómo puedo inicializar el tamaño aplicable de la matriz? No estoy usando listas

public static int[] encodeNumber(int n){
        int i;
        int j = 0;
        int[] prime_factors = new int[j];
        if(n <= 1) return null;
        for(i = 2; i <= n; i++){
            if(n % i == 0){
                n /= i;
                prime_factors[j] = i;
                i--;
                j++;
            }
        }
        return prime_factors;
    }

Gracias !!!

Respuesta 1

Asigne tantos factores como crea que puede tener el número (32 suena como un buen candidato), y luego use Arrays.copyOf()para cortar la matriz en el límite real:

return Arrays.copyOf(prime_factors, j);
Respuesta: 2

Estaba trabajando en mi proyecto de Android. Después de completar un poco de codificación, importé las clases restantes presionando ctrl + shift + o. Entonces limpié mi proyecto. Después de limpiar el proyecto, perdí mi BuildConfig ...

Quiero asignar un mensaje log4j que vaya a la consola a mi variable, por ejemplo: log.info ("alguna información"); String info = // mensaje de información del registro, ¿cómo puedo lograr esto?

Me gustaría saber qué se supone que debo hacer en el caso de una respuesta codificada con gzip. este es el método que maneja mis respuestas: privado InputStream getResultStream (respuesta de respuesta) arroja ...

Estoy tratando de recuperar el html de un resultado de consulta de búsqueda de Google usando Java. Es decir, si busco en Google.com una frase en particular, me gustaría recuperar el html de la web resultante ...