首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java-如何逻辑处理n级for循环,其中n是一个变量

java-如何逻辑处理n级for循环,其中n是一个变量
EN

Stack Overflow用户
提问于 2012-06-15 19:33:28
回答 3查看 123关注 0票数 2

在java程序中,我正在获取一些数据,每个值都被分配了一个名称--每个数据项都有一个'level‘,这是一个数值。

对于级别1,有'n‘个值--数据项有名称

代码语言:javascript
复制
 1-1, 1-2, 1-3.....1-n.

现在,2级项目的名称从1级的数据项派生而来。

因此,可以有级别2的'm‘值,对应于每个级别1项目。在每个数据项的名称中,对应于一个级别的每个命名部分与名称的其他部分用'~‘隔开。

例如,

代码语言:javascript
复制
    1-1~2-1, 1-1~2-2, 1-1~2-3......1-1~2-m --->level2 corresp. to level 1 item "1-1"
    1-2~2-1, 1-2~2-2, 1-2~2-3, ....1-2~2-m--->level2 corresp. to level 1 item "1-2"

现在,我想创建一个函数,其中的参数是级别数,并且我想以编程方式访问该级别的所有项。

例如,我可以在另一个For循环中创建一个for循环,以访问级别2的项。

但是,对于x是变量的level=x,我该如何做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-15 19:37:35

最简单的方法是使用递归和循环。

代码语言:javascript
复制
public static int count(List list) {
  int sum = 0;
  for(Object o: list) {
     sum += o instanceof List ? count((List) o) : 1;
  }
  return sum;
}

正如您所看到的,这将遍历每个级别的每个元素。

票数 7
EN

Stack Overflow用户

发布于 2012-06-15 19:36:46

如果我正确理解了您的问题,那么您的结构对我来说非常像一棵树。

你有一个值的层次结构,每个值都是一个给定级别的“节点”,每个节点可以有多个子节点,也可以有多个子节点……

我将为这些值创建一个树状结构,并递归地处理它们。

这有帮助吗?我可以试着进一步解释我的意思。

票数 2
EN

Stack Overflow用户

发布于 2012-06-15 19:37:19

你可以试着递归地解决这个问题,而不是迭代。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11049916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档