Java 使用方法和循环绘制带星号的矩形
我一直在尝试创建一个如下所示的矩形:Java 使用方法和循环绘制带星号的矩形,java,loops,methods,ascii-art,Java,Loops,Methods,Ascii Art,我一直在尝试创建一个如下所示的矩形: ***** * * ***** 或者这个: ************ * * ************ 取决于我输入的数字。我似乎做得不对。这就是我到目前为止所做的: import java.util.Scanner; 公共类绘图矩形{ 公共静态void main(字符串[]args){ 扫描仪键盘=新扫描仪(System.in); System.out.println(“输入长度大于1的整数”); int length=keybo
*****
* *
*****
或者这个:
************
* *
************
取决于我输入的数字。我似乎做得不对。这就是我到目前为止所做的:
import java.util.Scanner;
公共类绘图矩形{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
System.out.println(“输入长度大于1的整数”);
int length=keyboard.nextInt();
int矩形=绘制矩形(长度);
系统输出打印(矩形);
}
公共静态int-draw_矩形(int m){
对于(intstar=2;star,您只需尝试创建一个方法来打印一个长度为N的矩形。
首先,这个方法不需要返回int,它可以是void。在主方法的末尾,您正在打印矩形,它的长度值相同
import java.util.Scanner;
公共类绘图矩形{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
System.out.println(“输入长度大于1的整数”);
int length=keyboard.nextInt();
绘制矩形(长度);
//这是矩形,但将打印
//输出用户输入的任何int
系统输出打印(长度);
}
公共静态空白绘制矩形(int m){
用于(int-star=0;star
您将注意矩形图形中的更改。第一行是m*
s,下一行包含两个*
和m-2空格。下面的行与第一行类似。请注意,从0到m-1的循环将迭代m次。您应该将此消息发送到以获取更多帮助ul提示。无法理解为什么要用2开始循环,或者中间的打印尝试做什么,但我会这样做:
for(int i=0;i
您可以创建一种打印矩形的方法,以及一种额外的打印正方形的方法,作为前一种方法的特例,其中宽度是正确显示高度的两倍
输出:
******
* *
******
************
* *
************
代码:
publicstaticvoidmain(字符串[]args){
printSquare(3,,“*”);
System.out.println();
打印矩形(3,12',','*');
}
publicstaticvoidprintsquare(整数大小、字符填充、字符边框){
打印矩形(大小,大小*2,填充,边框);
}
公共静态空白打印矩形(整数高度、整数宽度、字符填充、字符边框){
对于(int i=0;i
另请参见:为什么以2
开始两个循环?因为使用该程序的人必须输入大于1的长度。这不是一个很好的理由。请考虑需要打印的星星数。因此,您知道第一行上的星星数是作为长度输入的int数。因此矩形的长度为m和msTARS需要打印在第一行和最后一行中。只有2个需要打印在中间行中,其余的M-2字符在中间的那行是空白。
******
* *
******
************
* *
************