【发布时间】:2014-10-12 22:57:42
【问题描述】:
我一直在尝试创建一个如下所示的矩形:
*****
* *
*****
或者这个:
************
* *
************
取决于我输入的数字。我似乎无法正确处理。这是我目前所拥有的:
import java.util.Scanner;
public class DrawRectangle {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter an integer greater 1 for the length");
int length = keyboard.nextInt();
int rectangle = draw_rectangle(length);
System.out.print(rectangle);
}
public static int draw_rectangle(int m) {
for (int star = 2; star <= m; star++) {
System.out.print("*");
}
System.out.println("*\f *\f\r\n");
for (int star = 2; star <= m; star++) {
System.out.print("*");
}
return (m);
}
}
【问题讨论】:
-
为什么两个循环都用
2开始? -
因为使用程序的人必须输入大于1的长度。
-
这不是一个好的理由。想想有多少颗星星需要打印。
-
所以你知道第一行的星数是作为长度输入的int的数。因此矩形的长度为 m 并且需要在第一行和最后一行打印 m 个星星。中间一行只需要打印 2 个,中间那一行的剩余 m-2 个字符是空格。
-
是的,我在查看后意识到,我的程序不需要它
标签: java loops methods ascii-art