java 不定次数的循环嵌套问题

现在需要根据特定的情况循环特定的次数,如果是2,就进行两层的循环嵌套,如果是3,就是三层的循环嵌套,如此……我想应该用递归,但是我从来没做过循环里面递归循环的,不知代码该... 现在需要根据特定的情况循环特定的次数,如果是2,就进行两层的循环嵌套,如果是3,就是三层的循环嵌套,如此……我想应该用递归,但是我从来没做过循环里面递归循环的,不知代码该怎么写。

请高手帮忙写下示例代码
比如说通过参数来确定循环嵌套的层次,参数2就要达到代码
for (int i = 0; i < size; i++)
{
//一些代码
for (int j = 0; j < size; j++)
{
//一些代码
}
}
这样的类似效果。

如果是参数3,就要达到
for (int i = 0; i < size; i++)
{
//一些代码
for (int j = 0; j < size; j++)
{
//一些代码
for (int x = 0; x <size; x++)
{
//一些代码
}
}
}
类似的效果

如此下去……
展开
 我来答
源念云F
2010-04-26 · TA获得超过685个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:296万
展开全部
import java.util.Arrays;

public class Loop {
public static void each(Callback callback, int times) {
int[] indexes = new int[times];
Arrays.fill(indexes, -1);
each0(callback, times, 0, indexes);
}

private static void each0(Callback callback, int times, int nextTimes,
int[] indexes) {
if (nextTimes >= times)
return;
for (int i = 0; i < times; i++) {
indexes[nextTimes] = i;
for (int k = indexes.length; --k > nextTimes;) {
indexes[k] = -1;
}
callback.call(indexes, nextTimes);
each0(callback, times, nextTimes + 1, indexes);
}
}

public static interface Callback {
public void call(int[] indexes, int deep);
}

public static void main(String[] args) {
Loop.each(new Callback() {
public void call(int[] indexes, int deep) {
System.out.println(Arrays.toString(indexes) + ", deep:" + deep);

}
}, 2);
}
}
给分吧,呵呵.deep表示当前嵌套层数.times表示循环特定的次数。callback是业务代码.
pe...n@sina.com
2010-04-26 · TA获得超过893个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:227万
展开全部
public class Test {
public static void main(String[] args) {
iterate(2);
}
public static void iterate(int times) {
for(int i=0;i<times;i++) {
System.out.println("Loop "+times);
iterate(times-1);
}
}
}
大概这个意思吧。。递归多层循环
不过这个有什么意义呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
web_win_happy
2010-04-26
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
//forNum为循环的个数
public void doAllFor(int forNum){
for(int i=0;i<forNum;i++){
doOneFor(10);//设置循环次数
}
}

private void doOneFor(int endPos){
for(int i=0;i<endPos;i++){
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzqkillyou
2010-04-26 · TA获得超过1091个赞
知道小有建树答主
回答量:942
采纳率:0%
帮助的人:747万
展开全部
public class TestFor {
public void testLoop(int loopCount){
label:
for (int i = 1; i < 3; i++) {
System.out.println("loopCount"+loopCount+": "+i);
if (loopCount==1) {
break label;
}else {
if (i==2) {
testLoop(--loopCount);
}
}
}
}
public static void main(String[] args) {
new TestFor().testLoop(4);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
非情林q
2010-04-26 · TA获得超过987个赞
知道小有建树答主
回答量:1157
采纳率:100%
帮助的人:972万
展开全部
双层嵌套不行吗??

for (int i = 0; i < 10; i++) {
for (int j = 0; j < i; j++) {
System.out.println("aaa");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式