簡體   English   中英

如何使以下代碼動態化/我可以注入循環嗎?

[英]How to make the following code dynamic/ can I inject for loops?

我有一個程序可以打印給定字符串的所有排列可能性。 但這是靜態的,我假設該字符串的長度為3,所以我將3硬編碼為循環。但是,如果我必須使它成為動態字符串,那么用戶可能會輸入一個長度為5的字符串。所以我要問的是我可以根據用戶的輸入注入循環嗎?

import java.util.*;
import java.lang.*;

    class Ideone
    {
        public static void main (String[] args) throws java.lang.Exception
        {
            // your code goes here
            String input = "abc";
            int i=0,j=0,k=0;
            for(i=0;i<3;i++){
                for(j=0;j<3;j++){
                    for(k=0;k<3;k++){
                       System.out.println(input.charAt(i)+""+input.charAt(j)+""+input.charAt(k)); 
                    }
                }
            }       
        }
    }

不,注入循環是不可行的(不幸的是,這會使語言一團糟!)

通常使用遞歸來實現這樣的任務,該遞歸可以輕松地用於生成(字符串,數組或其他任何東西)排列。

如果您真的不想使用遞歸,則可以使用其他方法,例如,可以通過循環旋轉來計算置換-但是這些方法通常很難遵循(和編寫)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM