java嵌套用于循环空格和数字

时间:2017-02-14 05:03:20

标签: java for-loop

我似乎无法弄清楚如何解决这个问题。我想添加一个数字并删除从1开始工作的每一行的空格。

for (int line = 1; line <= 5; line++) {
    for (int space = 5; space >= line + 1; space--) {
        System.out.print(" ");
    }
    System.out.println(line);
}

enter image description here

2 个答案:

答案 0 :(得分:5)

解决问题的方法是识别每行需要打印5个字符。每个数字的打印次数与其代表的次数相同,其余部分填充空格。

for (int i=1; i <= 5; i++) {
    // print 5 minus i spaces
    for (int j=5; j >= i + 1; j--) {
        System.out.print(" ");
    }
    // repeat the ith digit i times
    for (int k=0; k < i; ++k) {
        System.out.print(i);
    }
    System.out.print("\n");
}

<强>输出:

    1
   22
  333
 4444
55555

但请注意,如果你想要更少的代码行,你甚至可以进一步简化这个:

for (int i=1; i <= 5; ++i) {
    String line = new String(new char[5-i]).replace("\0", " ") +
                  new String(new char[i]).replace("\0", String.valueOf(i));
    System.out.println(line);
}

答案 1 :(得分:0)

试试这个

for (int line = 1; line <= 5; line++) {
        for (int space = 5; space >= line + 1; space--) {
            System.out.print(" ");
        }
        for (int k = 0; k < line ; k++) {
             System.out.print(line);
        }
        System.out.println("");
   }