对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
第一种解决方法5层for循环
public class Main {
public static void main(String[] args) {
for(int i=0;i<=1;i++){
for(int j=0;j<=1;j++){
for(int k=0;k<=1;k++){
for(int l=0;l<=1;l++){
for(int m=0;m<=1;m++){
System.out.print(i);
System.out.print(j);
System.out.print(k);
System.out.print(l);
System.out.println(m);
}
}
}
}
}
}
}
第二种方法:利用java中的方法Integer.toBinaryString 将十进制转成二进制
使用格式化输出%05d,输出二进制的后5位
public class Main {
public static void main(String[] args){
for(int i=0;i<32;i++){
String result = Integer.toBinaryString(i);
int ans = Integer.parseInt(result);
System.out.printf("%05d\n",ans);
}
}
}