'正方形'它的轮廓是全部*并且其内部充满了角色"。"

时间:2017-10-04 18:56:10

标签: java

我需要绘制一个方形,其轮廓全部为*' s,内部填充字符.(点)。 还有输入将决定正方形的大小。 这就是我到目前为止所拥有的。 我想我需要一个" if"声明,但不知道如何实现这一点。 到目前为止,这段代码将通过BIO用户输入绘制*的平方。

提前致谢:)。

public class Main 
{
    public static void main( String args[] )
    {
        int stars = BIO.getInt();
        int a = 1;

        while (a <= stars)
        {
            int starsNumber = 1;

            while (starsNumber <= stars)
            {
                starsNumber = starsNumber + 1;
                System.out.print('*');
            }

            System.out.println();

            a = a +1;
        }
    }
}

3 个答案:

答案 0 :(得分:1)

我会将这个问题分解为几个步骤。尝试自己搞清楚代码。

您必须打印以下内容:

  • 广场的顶部。这将是一系列长度为stars的* *****
  • stars很多中间位。这将是一个*开始,然后是一系列。长度为stars - 2,最后为a * *...*
  • 广场的底部。与顶部完全相同。
for(int i = 0 ; i < stars ; i++) {
    System.out.print("*"); // top
}
System.out.println(); // new line
for (int j = 0 ; j < stars - 2 ; j++) {
    System.out.print("*"); // starting * of the middle
    for (int i = 0; i < stars - 2; i++) {
        System.out.print("."); // the dots for the middle
    }
    System.out.print("*"); // the star at the end of the middle lines
    System.out.println(); // new line for the next middle line
}
for(int i = 0 ; i < stars ; i++) {
    System.out.print("*"); // bottom
}

答案 1 :(得分:0)

我使用二维数组来存储*和的char值。带有嵌套循环的正方形,用于生成数组并将其打印出来。生成它时,使用if-else语句确定是否生成正方形的边框,选择是否放置*或。进入数组的这个索引。

m = matrix(c(1,2,3,4), nrow =2)

答案 2 :(得分:0)

使用基本循环结构:

for (int row = 0; row < stars; row++) {
    for (int col = 0; col < stars; col++) {
        char c;
        if (CONDITION)
            c = '*';
        else
            c = '.';
        System.out.print(c);
    }
    System.out.println();
}

你应该自己弄明白CONDITION。考虑在您要打印x而不是y的情况下需要*.