Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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 - Fatal编程技术网

Java 获取嵌套循环以生成组合时出错

Java 获取嵌套循环以生成组合时出错,java,Java,我处理的是这样一个向量,里面还有一些文本:[['manny'、'floyd']、['pacman'、'money'、'goat']、['mayweather'、'pacquiao'] 这就是我如何声明向量的 Vector<String> one = new Vector<String>(); one.add("hello"); one.add("mellow"); Vector<String> two = new Vector<String>();

我处理的是这样一个向量,里面还有一些文本:
[['manny'、'floyd']、['pacman'、'money'、'goat']、['mayweather'、'pacquiao']

这就是我如何声明向量的

Vector<String> one = new Vector<String>();
one.add("hello");
one.add("mellow");
Vector<String> two = new Vector<String>();
two.add("man");
two.add("boy");
two.add("women");

Vector<Vector<String>> bigVector = new Vector<Vector<String>>();
bigVector.add(one);
bigVector.add(two);
这是到目前为止我的代码

for(int i = 0; i<bigVector.size(); i++){
   for(int j=i; j<bigVector.get(i).size; j++){
     for(int x = i + 1; j<bigVector.get(x).size; x++){
       //Print here
    }
  }
}

<代码> >(int i=0;i为了理解,考虑所有3个向量具有相同的大小=3(因此有效的索引是0,1,2),现在这里发生的是:


  • 假设最外层的循环开始上一次迭代,当前值为i=2,
    for(int i=0;i,因为您不知道有多少个内部向量,所以使用递归解决方案可能更容易推理

    static void printWords(List<Vector<String>> bigVector) {
        printWords(bigVector, "");
    }
    static void printWords(List<Vector<String>> bigVector, String accumulator) {
        if(bigVector.isEmpty()) {
            System.out.println(accumulator);
        }
        else {
            for(String word : bigVector.get(0)) {
                printWords(bigVector.subList(1, bigVector.size()), accumulator + " " + word);
            }
        }
    }
    
    静态无效打印字(列表bigVector){
    印刷字(bigVector,“”);
    }
    静态无效打印字(列表bigVector、字符串累加器){
    if(bigVector.isEmpty()){
    系统输出打印LN(累加器);
    }
    否则{
    for(字符串字:bigVector.get(0)){
    打印字(bigVector.subList(1,bigVector.size()),累加器+“”+字);
    }
    }
    }
    
    值是存储列表?基本上,向量中有向量,每个向量都有单词。你能分享向量声明吗?@ShiladittyaChakraborty现在请看一看。如果主向量中有x个向量,这种方法也会起作用。这很好。你说得对,它很容易使用功能。
    static void printWords(List<Vector<String>> bigVector) {
        printWords(bigVector, "");
    }
    static void printWords(List<Vector<String>> bigVector, String accumulator) {
        if(bigVector.isEmpty()) {
            System.out.println(accumulator);
        }
        else {
            for(String word : bigVector.get(0)) {
                printWords(bigVector.subList(1, bigVector.size()), accumulator + " " + word);
            }
        }
    }