Я пишу метод, в котором я преобразовываю значения 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);
}
Ясно, что это вызовет исключение ArrayOutOfBoundsException, потому что strValue5 == 11
, а не 0011
, как и должно быть. Надеюсь, это достаточно ясно. Заранее спасибо за помощь.