回覆列表
  • 1 # 紅袖法師

    從程式開發邏輯上來說,可以這樣寫。

    以下內容是按照我對面向物件開發作為參考的表述,面向過程開發也可參考一下。此內容不提供具體開發程式碼,僅供邏輯參考。首先是確定實現目標和預計效果。

    目前已知資料夾套娃的效果如下:

    假設第一層資料夾組為Dn[min:max],第二層資料夾組為第一層資料夾的逐個巢狀,即為:Dn[min(Dn[min:max]):max(Dn[min:max])],依次類推,三層巢狀便是:

    Dn[min(Dn[min(Dn[min:max]):max(Dn[min:max])]):max(Dn[min(Dn[min:max]):max(Dn[min:max])])]

    從中不難發現規律,即:Dn[min:max]

    其中關於D資料夾名,n為編號,min和max為編號n的最取小值和最取大值,且均為整形。[min:max]是以數學的區間法表示的一種格式,即最小取值等於min,最大取值等於max的區間取值。

    開發邏輯1、宣告三個整形變數,分別是資料夾名稱編號最小值、最大值和資料夾巢狀層值。2、根據上述所述規律,在程式執行時生成模板Dn_mod3、關於模板Dn_mod=(Dn[min:max]),即為第二層或以上層模板4、第一層由min和max數值透過迴圈指令直接建立(推薦使用For迴圈),同時一併原樣建立第二層的其中一個子集到特殊位置,即Dn_mod中。5、以上述規律類推,從第二層開始,一層一層利用迴圈逐個將Dn_mod放入每一層每一個子集中即可。關於迴圈設計問題:方法一:最直接的是使用固定多重迴圈巢狀指令,但此法在程式碼中提現過於笨拙,且指令巢狀量過大,程式設計效率很低。方法二:利用判斷累加的方法去做一個動態迴圈巢狀功能,即:設定一組固定的迴圈巢狀作為程式碼模組,讓後重復使用多次。方法三:設計一個動態迴圈巢狀層數控制模組,即:透過引數對迴圈巢狀層數進行動態控制。@靈魂編碼 原創,僅供參考,嚴禁不道德抄襲行為。

  • 2 # Ice2Faith

    遞迴就行啊

    簡單的JAVA實現

    public static void mymkdirs(File dir,int deep)

    {

    if(deep<=0)

    return;

    if(dir.exist()==false)

    dir.mkdirs();

    for(int i=0;i<10;i++){

    File pf=new File(dir,""+(i+1));

    pf.mkdir();

    mymkdirs(pf,deep-1);

    }

    }

    呼叫:

    mymkdirs(new File("D:\\test),10);

  • 3 # 弓雖強但石更硬OK

    別費勁了,電腦會宕機的,10層有多少個資料夾你算過嗎?想把每個資料夾都開啟一邊估計得很多年才行,你硬碟壞了都不一定打的完。

  • 4 # 咚伊夏

    import os

    dir_path = "./1_10/"

    for i in range(0, 10):

    if not os.path.exists(dir_path):

    os.makedirs(dir_path)

    dir_path = dir_path + "1_10"

  • 5 # 隨風飛701

    遞迴唄。你沒說語言,我就說邏輯了。寫一個方法,傳入引數是層號和當前資料夾路徑,內容是1-10迴圈,迴圈內用index建子資料夾,然後如果層號小於10,那把當前層號加一和子資料夾路徑作為引數遞迴呼叫該方法。再外面寫個入口。這個問題感覺實際上並沒卵用。

  • 中秋節和大豐收的關聯?
  • 結婚可以不要彩禮,不出陪嫁,但是要求男方出全款房,裝修,家電有錯嗎,並且有十萬的育兒基金有錯嗎?