输出的第一部分(印刷明星)并不好

时间:2018-05-27 19:04:05

标签: java string loops

我做了一项简单的任务,但我被困了...... output

我需要让第一行符合其他所有内容,但无论我做什么,它都不想接受这个空间。那么,我应该纠正什么,为什么?感谢

public static String repeat(String s, int n) {
    String res = "";

    for (int i = 0; i < n; i++) {
        res += s;

    }
    return res;
}

public static void main(String[] args) {

    int n = 5;
    for (int i = 0; i < n; i++) {

        System.out.println(repeat("*", 5));
        System.out.print(repeat(" ", n - i));

    }
}

1 个答案:

答案 0 :(得分:2)

您需要在打印星星之前打印空间,然后使用

System.out.print(repeat(" ", n - i));        
System.out.println(repeat("*", 5));

Online Demo

当前的代码是打印星星然后是空格因此问题,第一行星星永远不会受到空间的影响,因为它之后会被打印

我建议使用StringBuilder。