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),现在这里发生的是:
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);
}
}
}