我需要生成一个三角形,如图所示:
***4
**34
*234
1234
我的代码是这样的:
for(int i=3; i>0 ;i--)
for(int j=0; j < i; j++){
System.out.print("*");
}
for(int s3 = 5; s3 >= 0; s3 -- ){
for ( int n2 = s3 + 1; n2 <= 4; n2 ++){
System.out.print(n2);
}
System.out.println();
}
}
这给了我这个:
***
4
34
234
1234
**
4
34
234
1234
*
4
34
234
1234
有人可以帮我解决这个问题吗?
最佳答案
就这样做:
for(int i=3; i>=0 ;i--) {
for(int j=0; j < i; j++) {
System.out.print("*");
}
for ( int k = i+1; k < 5; k++ ) {
System.out.print(k);
}
System.out.println();
}
您只需要一个外循环和 2 个内循环。外层循环从 3 倒数到 0(该行的星星数量)。第一个内循环打印了那么多星星。第二个用数字填充其余部分。
请注意,无论您是从 3 到 0 还是从 4 到 1 开始,然后是否使用 +1 以及是否使用 -1 并不重要。此外,第一个循环向前或向后计数并不重要。
我刚从 3 开始,因为我发现如果 i 是行中星星的数量更容易理解。我在第一个循环中向前计数(从 0 到 i-1),只是因为我自己发现沿此方向计数比反向计数更直观。
关于java - 如何用java制作一个数字三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32615584/