int 値をバイナリ文字列に変換して格納するメソッドを作成しています。そのために Integer.toBinaryString メソッドを使用していますが、正しく動作していますが、問題は、メソッドが文字列内で正確に 4 ビットを返す必要があることです (数値が十分に大きくないため、それ以上になることはありません)。 )。ここに私のコードの例と問題が発生している場所があります:
int value5 = 3;
String strValue5 = Integer.toBinaryString(value5);
for(int index = 0; index < 4; index++){
sBoxPostPass[4][index] = strVal5.charAt(index);
}
strValue5 == 11
明らかに、これは ArrayOutOfBoundsException をスロー0011
します。これが十分に明確であることを願っています。助けてくれてありがとう。