java之01字串

來源:互聯網
上載者:User

標籤:

今天表弟突然問我一道C的字串的題目:

問題描述
對於長度為5位的一個01串,每一位都可能是0或1,一共有32種可能。它們的前幾個是:
00000
00001
00010
00011
00100
請按從小到大的順序輸出這32種01串。 輸入格式 本試題沒有輸入。
輸出格式
輸出32行,按從小到大的順序每行一個長度為5的01串。
範例輸出
00000
00001
00010
00011

由於沒有C環境,於是用java實現如下:

        int first, second, third, fourth, fifth;        for (first = 0; first <= 1; first ++) {            for (second = 0; second <= 1; second++) {                for (third = 0; third <= 1; third++) {                    for (fourth = 0; fourth <= 1; fourth++) {                        for (fifth = 0; fifth <=1; fifth++) {                            System.out.println(first + "" + second + "" + third + "" + fourth + "" + fifth);                        }                    }                }            }        }

後來想想如果01字串的長度發生變化,這迴圈該怎麼寫,後來轉而實現如下:

                int n = 4;        int maxNum = 0;        String maxStr = "";        for (int k = 0; k < n; k++) {            maxStr += "1";        }        maxNum = Integer.valueOf(maxStr, 2); //二進位轉十進位        for (int i = 0; i <= maxNum; i++) {            BigInteger s = new BigInteger(i + ""); //轉換為BigInteger類型            String b = s.toString(2); //轉換為2進位            String before = "";            if (b.length() < n) {                for (int j = 0; j < (n - b.length()); j++) {                    before += "0";                }            }            System.out.println(before + b);        }

 

java之01字串

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.