加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 动态更改嵌套for循环的数量

发布时间:2020-12-15 02:57:37 所属栏目:Java 来源:网络整理
导读:我不知道这是不是一个愚蠢的问题,但我需要在不使用递归的情况下动态更改for循环的数量. 例如,如果n = 3,我需要3个嵌套的for循环. for(int i=0; isize; i++){ for(int j=0; jsize-1; j++){ for(int k=0; ksize-2; k++){ //do something } }} 如果n = 5: for(
我不知道这是不是一个愚蠢的问题,但我需要在不使用递归的情况下动态更改for循环的数量.

例如,如果n = 3,我需要3个嵌套的for循环.

for(int i=0; i<size; i++){
   for(int j=0; j<size-1; j++){
       for(int k=0; k<size-2; k++){
          //do something
       }
   }
}

如果n = 5:

for(int i=0; i<size; i++){
   for(int j=0; j<size-1; j++){
       for(int k=0; k<size-2; k++){
          for(int l=0; l<size-3; l++){
              for(int m=0; m<size-4; m++){
                  //do something
              }
          }
       }
   }
}

有没有办法在没有递归的情况下实现这一点?
另一个问题:在Java中使用Multiple Dispatch有什么用?我试图用一种方法编写代码,它应该在参数的不同情况下运行不同的事件.如果声明/三元操作符/案例.

注意:我只能有一个方法(部分问题),并且不能使用递归.抱歉.

解决方法

想想你经历这个循环多少次.它看起来像(大小!)/(大小 – n)!:
int numLoops = 1;
for (int i = 0; i < n; i++) {
    numLoops*= (size - i);
}

for (int i = 0; i < numLoops; i++) {
    //do something
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读