【发布时间】:2013-11-05 15:27:03
【问题描述】:
全面披露:家庭作业。
解释:我听不懂我的老师。
问题:
编写一个名为
printSquare的方法,它接受两个整数 参数,一个min和一个max,并打印范围从min到max包括方形图案。正方形图案是 通过例子比解释更容易理解,所以看看 示例方法调用及其生成的控制台输出在 下表。正方形的每一行由一个圆形序列组成 在min和max之间增加整数。每行打印一个 这个序列的不同排列。第一行以 分钟,第二行以min + 1开头,依此类推。当。。。的时候 任何一行中的序列到达max,它会回绕回min。你 可能假设该方法的调用者将传递一个min和一个max参数使得min小于或等于max
我终其一生都无法弄清楚如何让数字停止在“最大值”处并在行的中间重新开始。
这是我目前所拥有的,很抱歉,但我遇到了 for 循环问题。
for(int i = 0; i < row; i++)
{
for(int d = 0; d < row; d++)
{
System.out.print(d+1);
}
System.out.println(i);
}
我知道我使用了 row 两次,但这是我可以让编译器使用循环形成方形的唯一方法。有没有人远程理解我想要做什么? :/
【问题讨论】:
-
我知道我用了 row 两次 然后你明白你应该在其中一个
for循环中使用另一个变量而不是row,重新阅读作业练习和多想想吧。 -
想想每一行的“虚拟”起始索引。如果第一行从 0 开始(即
0 + 1、0 + 2等)第二行从什么开始? -
如果你有一支笔和一张纸,你会怎么做?一旦你弄清楚了,就告诉计算机做同样的事情。
-
我建议不要使用循环的变量作为打印值,你知道这些值在这个过程中不会改变,有更好的选择。
-
@LuiggiMendoza 我一直在寻找这个问题一段时间。我需要一个解释。我老师的第二语言是英语,在我们试图相互理解的过程中出现了故障。