Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 获取大小为n的数组的所有可能组合_Java_Arrays - Fatal编程技术网

Java 获取大小为n的数组的所有可能组合

Java 获取大小为n的数组的所有可能组合,java,arrays,Java,Arrays,今晚我有个问题。我正在尝试制作一个java程序,它将获取一个数组,然后打印该数组大小为n的所有组合。例如:完整数组是abcd,我想要2的组合,所以理想情况下我想要aa、ab、ac等 这是我当前的代码,它似乎只输出a、b、c、d、e等: public class test2 { public static void main(String[] args) { // TODO Auto-generated method stub //Input Array:

今晚我有个问题。我正在尝试制作一个java程序,它将获取一个数组,然后打印该数组大小为n的所有组合。例如:完整数组是abcd,我想要2的组合,所以理想情况下我想要aa、ab、ac等

这是我当前的代码,它似乎只输出a、b、c、d、e等:

public class test2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //Input Array:
        String[] alphabet = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"  };
        int r = 3;
        int n = alphabet.length;
        //I need pairings of n (length) so like. 6/7/8

        //Make an array to temporarily store the data, and commit recursion
        print(alphabet, n, r);
    }
    public static String[] buildAlphabeticPassword(String[] alphabet, String[] data, int start, int end, int index, int r){
        if (index == r){
            for(int i=0; i <= r; i++){
                System.out.println(data[i]+" ");
                System.out.println("");
                return data;
            }
        }
        for( int n=start; n <= end && end-n+1 >= r-index; n++){
            data[index] = alphabet[n];
        buildAlphabeticPassword(alphabet, data, n+1, end, index+1, r);

        }
        return null;
    }
    public static void print(String[] alphabet, int n, int r){


    String data[] = new String[r];

    buildAlphabeticPassword(alphabet, data, 0, n-1, 0,r);
    }


}
公共类test2{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
//输入阵列:
字符串[]字母表={“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”、“o”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“x”、“z”、“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”、“o”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“x”、“y”、“z”};
int r=3;
int n=字母表长度;
//我需要n(长度)这样的配对。6/7/8
//创建一个数组来临时存储数据,并提交递归
印刷体(字母,n,r);
}
公共静态字符串[]构建字母密码(字符串[]字母表,字符串[]数据,int开始,int结束,int索引,int r){
如果(索引==r){

对于(int i=0;i),这一常见问题称为“置换”,并已在堆栈溢出问题上讨论过多次,例如:的可能重复项我认为这是这一问题的完全重复项:这一常见问题称为“置换”关于堆栈溢出已经讨论了很多次,例如:可能的重复我认为这是这个问题的完全重复: