题目描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入
无
输出
输出32行,按从小到大的顺序每行一个长度为5的01串。
思路
把题目看成输出输出0到32的二进制数,for循环0到32,然后使用Integer类中的toBinaryString()方法转换成二进制形式,对不满5位的前面加0。
代码
class Basic_2 {
public static void main(String[] args){
//将0到2的5次方的所有数按二进制输出。Integer.toBinaryString方法。输出的字符串不足5位,则在前面补0
String str ;
for(int i=0;i<Math.pow(2, 5);i++){
str = Integer.toBinaryString(i);
if(str.length()<5){
int t = 5 -str.length();
String str2 = "";
for(;t>0;t--){
str2 += "0";
}
str = str2+str;
}
System.out.println(str);
}
}
}