Java に問題があります。
n が整数であると仮定すると、アルファベットの文字の 26^n 個の組み合わせすべてを含む StringBuffer の配列を、辞書式の順序で作成したいと考えています。ArrayIndexOutOfBoundsException を取得します。
私はこのクラスを書きました:
public static StringBuffer[] creaTabellaTotale(int n, char[] a) {
StringBuffer[] tabella = new StringBuffer[ pow(26, n)];
for(int w =0; w < pow(26, n); w++)
tabella[w] = new StringBuffer("");
for(int h = 1; h <= n ; h++){
for(int u =0; u < pow ( 26, h-1); u++){
for (int j = 0; j<26; j++){
for( int x =pow(26, n-h+1)*u + pow(26, n-h)*j; x< pow(26, n-h+1)*u + pow(26, n-h)*(j+1); x++)
tabella[x] = tabella[x].append(a[j]);
}
}
}
return tabella;
}
ここで a[] は、アルファベット順に 26 文字を含む配列です。pow() を書き直しました。そのプロトタイプは int pow(int b, int e) です。エラーが見つかりません。