java字符串问题 日常练习

对于长度为5位的01串,每一位都可能是0或1,一共有32种可能,他们前几个分别是
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输人入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
00000
00001
00010
00011
<以下部分省略>

没有输入的情况,可以使用for循环进行暴力遍历打印,代码如下

public class Demo {
    public static void main(String[] args) {
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 2; j++) {
                for (int j2 = 0; j2 < 2; j2++) {
                    for (int k = 0; k < 2; k++) {
                        for (int k2 = 0; k2 < 2; k2++) {
                            System.out.println(""+i+j+j2+k+k2);
                        }
                    }
                }
            }
        }
    }
}

**如有帮助,望采纳一下,谢谢
**

排列组合后,通过Arrays.sort()进行排序。

public class Main {
    public static void main(String [] args){
        for(int i= 0;i<32;i++){
            getString(i);
            System.out.println();
        }
    }
}

img

这个就是从0到0x1F,将char转成字符数组然后输出就可以了,代码如下:


    public static void main(String[] args){
        
        for(char ch = 0x00;ch <=0x1F;ch++){
            System.out.println(trans(ch));
        }
        
        
    }//main end