空心矩形有3种方法

时间:2017-10-02 18:28:26

标签: java

这是我的代码:

    int width;
    int height;

    put("Enter the width of the rectangle: ");
    width = input.nextInt();

    put("Enter the height of the rectangle: ");
    height = input.nextInt();

    rectangle( height, width );
}

public static void put(String text){
    System.out.print( text );
}

public static void put(String text, int Number){
    int plus;
    for ( plus = Number ; plus >=  1; plus-- ){
        System.out.print( text);
    }
}

public static void rectangle(int height, int width){
    int column;
    int row;

    for ( row = 1; row <= height; row++){
        put("*", width);
        put("\n");
    }
}

我想创建一个空心矩形,我只需要通过rectangle()方法

进行修改
******
*    *
*    *
******

它应该是这样的^

有什么想法吗?

编辑一个

我找到了使用此代码添加第一行和最后一行的方法

public static void rectangle(int height, int width) {
    int column;
    int row;

    for (row = 1; row <= height; row++) {
        if (row == 1 || row == height) {
            put("*", width);
        }
        else {
            put(" ");
        }
        put("\n");
    }
}

我认为现在我应该控制宽度,这样我就可以在第一列和最后一列打印两颗错过的星星。我找不到连接矩形方法和第二个put方法的方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

尝试在行和列方面考虑这一点。在第一行和最后一行(row = 1row = height)中,每列中都有一个*。在任何其他行中,第一列和最后一列中都有*,其余列中有空格。

正如评论中所指出的,看起来您无条件地在每列中放置*,但如上所述,您只想对第一行和最后一行执行此操作。

编辑:如果你想在偶数行上加一个空行,这里有一个提示:&#34; even&#34;的定义。数字是&#34;完全可被2&#34; - 考虑如何在Java中实现它。