用于循环空间和数字的java嵌套
我似乎不知道如何解决这个问题。我想在从1开始的每一行上添加一个数字并删除一个空格用于循环空间和数字的java嵌套,java,for-loop,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); } for(int line=1;line=line+1;空格--){ 系统输出打
for (int line = 1; line <= 5; line++) {
for (int space = 5; space >= line + 1; space--) {
System.out.print(" ");
}
System.out.println(line);
}
for(int line=1;line=line+1;空格--){
系统输出打印(“”);
}
系统输出打印项次(行);
}
解决问题的诀窍是认识到每行需要打印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");
}
但请注意,如果您想要更少的代码行,您甚至可以进一步简化:
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);
}
for(inti=1;i试试这个
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("");
}
for(int line=1;line=line+1;空格--){
系统输出打印(“”);
}
for(int k=0;k
谢谢Tim!你能在这里帮我解释一下思考过程吗?我简直不敢相信我没有添加另一个循环。这里非常新。第一个循环从左到右打印5-I
空格,第二个循环,在同一行,从左到右打印数字I
,I次。就是这样。再次感谢Tim!你不需要o将空字符串传递给println@PaulPearson你为什么选择这个作为被接受的答案?只是看起来很奇怪,@TimBiegeleisen首先回答了问题,提供了更多信息,提供了输出,一个可选的解决方案,回答了OP评论,并费心格式化OP问题-非常奇怪
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("");
}