我想要做的是打印所有可能的二进制数n位数.换句话说,使用4位数字:
0001
0010
0100
1000
Run Code Online (Sandbox Code Playgroud)
..等等
说实话,我不知道从哪里开始这个(除了我想我需要使用一个循环,可能还有一个数组)所以任何正确方向的指针都会受到赞赏.
ebo*_*oix 16
也许你可以使用递归算法:
public void printBin(String soFar, int iterations) {
if(iterations == 0) {
System.out.println(soFar);
}
else {
printBin(soFar + "0", iterations - 1);
printBin(soFar + "1", iterations - 1);
}
}
Run Code Online (Sandbox Code Playgroud)
你会这样执行:
printBin("", 4);
Run Code Online (Sandbox Code Playgroud)
那会给你所有可能的4位二进制数字.
希望这有帮助!
for(int i=0; i < 128; i++){
System.out.println(Integer.toBinaryString(i));
}
Run Code Online (Sandbox Code Playgroud)
将最大值调整为您想要的最高水平。
如果需要填充的0,那么今天还有另一个问题: 在Java中以二进制零填充等于零(“ 0”)的二进制字符串