我似乎无法弄清楚如何解决这个问题。我想添加一个数字并删除从1开始工作的每一行的空格。
for (int line = 1; line <= 5; line++) {
for (int space = 5; space >= line + 1; space--) {
System.out.print(" ");
}
System.out.println(line);
}
答案 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("");
}