如何在Java 6中不使用String.format格式化左边填充的数字?

Bli*_*Boy 2 java binary padding

例如,我需要获取一个未知数字,比方说3,并找到二进制(2 ^ 3) - 1次,从0到111(0-7).显然,我需要的位数取决于2 ^ n中的数字'n'.

所以,如果数字为3,我需要输出为:

000
001
010
011
100
101
111
Run Code Online (Sandbox Code Playgroud)

现在显然我可以使用String.format("%03d",NumberInBinary)操作手动执行此操作,但这是硬编码3位数.我需要使用未知位数的等效代码,我该怎么做?(如String.format("%0nd",yournumber),其中n是位数.)

Bal*_*a R 5

如果n = 4,则NumberInBinary = 101;

String.format("%0"+n+"d", NumberInBinary);
Run Code Online (Sandbox Code Playgroud)

与输出

0101
Run Code Online (Sandbox Code Playgroud)