如何跳过字符串?

时间:2017-03-11 04:48:37

标签: java

此方法根据用户输入的长度打印出正方形或矩形的文本表示。它会打印出正确的尺寸,但是如何让它空心?

public String printShape() {
    String message = "";
    for (int i = 0; i < length; i++) {
        for (int j = 0; j < width; j++)
            message += "* ";
        message += "\n";
    }
    return message;
}

2 个答案:

答案 0 :(得分:0)

当您处于边界时,您想要打印星标。使用if语句检测并打印星号。否则,打印一个空格。

public String printShape() {
    String message = "";
    for (int i = 0; i < length; i++) {
        for (int j = 0; j < width; j++)
            message += i == 0 || i == j ? "* " : "  ";
        message += "\n";
    }
    return message;
}

答案 1 :(得分:0)

我建议您将值作为参数传递,而不是从全局范围中提取它们。

public String printShape(int width, int length) {
    String message = "";
    for (int j = 0; j < width; j++) {
        message += "*";
    }
    message += "\n";
    for (int i = 0; i < length; i++) {
        message += "*";
        for (int j = 0; j < (width -2); j++) {
            message += "*";
        }
        message += "*\n";
    }
    for (int j = 0; j < width; j++) {
        message += "*";
    }
    message += "\n";
    return message;
}