Вы делаете что-то не так здесь.
011
, 010
, 001
являются восьмеричными числами, так как они начинаются с нуля.
Также,использование String.format
здесь не имеет смысла, поскольку полученное значение не используется.
Возможно, именно поэтому ваши if
ветви не учитываются.
final String formattedValue = String.format("%03d", code);
Теперь вы можете использовать formattedValue
в качестве значения сравнения для ваших if
операторов.
Пример
if ("111".equals(formattedValue)) { ... }
Обратите внимание, что, возможно, преобразование int
в String
не требуется.Но если вы настаиваете на этом, хорошей практикой является использование константы String
в качестве операнда, который вызывает equals(...)
.