Produto cartesiano de Perfoming em matrizes

Estou interessado em realizar um produto cartesiano em n arrays. Eu posso escrever o código se souber o número de matrizes antes do tempo. Por exemplo, dado 2 arrays:

int[] a = new int[]{1,2,3};
int[] b = new int[]{1,2,3};

for(int i=0; i<=a.length; i++){
    for(int j=0; j<=b.length; j++){
        System.out.println(a[i]*b[j]);
    }
}

O problema é que, em tempo de execução, não sei o número de matrizes. Eu posso ter 2 matrizes, ou posso ter 100 matrizes. Existe uma maneira que eu possa fazer isso? Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion