Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 各种长度的动态字符串的所有可能组合?_Java_String - Fatal编程技术网

Java 各种长度的动态字符串的所有可能组合?

Java 各种长度的动态字符串的所有可能组合?,java,string,Java,String,我需要打印任何字符串的所有可能组合,而不需要任何字符重复, 例如,假设输入为-ABC 所需的组合为-ABCACBBCABACCABCBA 下面是我运行良好的代码- public static void main(String[] args) { String name="abcd"; char[] nameArray=name.toCharArray(); String result = null; int flag=0; for(int i=0;i<nam

我需要打印任何字符串的所有可能组合,而不需要任何字符重复, 例如,假设输入为-
ABC
所需的组合为-
ABC
ACB
BCA
BAC
CAB
CBA

下面是我运行良好的代码-

public static void main(String[] args) {
String name="abcd";
    char[] nameArray=name.toCharArray();
    String result = null;
    int flag=0;
    for(int i=0;i<nameArray.length;i++){
        for(int j=0;j<nameArray.length;j++){
            for(int k=0;k<nameArray.length;k++){
                for(int l=0;l<nameArray.length;l++){
                     result=""+nameArray[i]+nameArray[j]+nameArray[k]+nameArray[l];
                     flag=0;
                        for(Character c:nameArray){
                            if(!result.contains(c.toString())){
                                flag=1;
                            }
                        }
                        if( flag==0){
                            System.out.println(result);
                        }
                }
            }
        }
    }
}
publicstaticvoidmain(字符串[]args){
String name=“abcd”;
char[]nameArray=name.toCharArray();
字符串结果=null;
int标志=0;
对于(int i=0;我为您找到了此博客”


使用
递归
并准确解释他在做什么。你可以在之后或在他打印排列的代码中删除你的副本。

创建一个递归函数。我也尝试过
递归
,但无法编写动态长度。可能的副本,看看这是否有助于你,GirishAl如此相关: