【发布时间】:2011-05-24 09:47:39
【问题描述】:
我需要编写一个接受两个整数作为参数的方法,一个最小值和一个最大值。在第一行,我需要打印该范围内的所有数字(包括)。在下一行,我从 min+1 开始,打印直到最大值的所有数字,然后返回范围的前面并打印 min。下一行我从 min+2 开始,依此类推,直到我从范围内的每个数字开始重复。很难解释,这里有两个例子:假设我传递 1 和 5 作为 min 和 max 参数。我想要打印这个的方法:
12345
23451
34512
45123
51234
或者如果通过了 3 和 9,我希望这样:
3456789
4567893
5678934
6789345
7893456
8934567
9345678
我已经尝试了各种方法,我确信有一种我没有意识到的简单方法可以做到这一点。我应该在没有数组或数组列表的情况下执行此操作。我认为我有一个很好的合作基础,但我就是不知道从这里去哪里。我的基本代码打印了这个:
12345
2345
345
45
5
还有这个:
3456789
456789
56789
6789
789
89
9
我被难住了。这是我的代码:
public void printSquare(int min, int max){
for (int i=min; i<=max; i++){
for (int j=i; j<=max; j++){
System.out.print(j);
}
System.out.println();
}
}
【问题讨论】:
-
听起来可能是递归的。
-
这不是家庭作业,它来自我一直在阅读的网站上的一些 java 示例问题。我不在学校,我只是为自己学习 java =) 我要去想想彼得和拉斯科尔尼科夫的回答,看看我自己能不能得出结论。
标签: java php for-loop nested-loops