我正在为我的一个班级做一些家庭作业,并遇到一个我遇到麻烦的问题。我无法弄清楚我会怎么做。如果有人可以指出我正确的方向,我将如何去做那将是伟大的。这是问题所在。
嵌套循环
for (int i = 1; i <= height; i++)
{
for (int j = 1; j <= width; j++) { System.out.print("*"); }
System.out.println();
}
显示给定宽度和高度的矩形,例如
**** **** ****
写一个显示相同矩形的for循环。
答案 0 :(得分:1)
for(int i=1; i<=height*width; i++) {
System.out.print("*");
if(i%width==0){
System.out.println();
}
}
答案 1 :(得分:0)
您可以在两个非嵌套的循环中拆分循环。第一个外观定义为每行打印的字符串:
StringBuilder sb = new StringBuilder();
for (int i = 0; i < width; i++) {
sb.append("*");
}
String line = sb.toString();
现在,您可以将line
用于所有行:
for (int i = 0; i < height; i++) {
System.out.println(line);
}
请注意,此迭代从索引0开始,最后一个索引与width
或height
不同,这在这里没有什么区别,但这是一个很好的做法,因为几乎Java中的所有内容都使用基于0的索引。
虽然这个解决方案实际上没有像@ KenBekov那样使用单个for循环,但我发现这样做更具可读性。