打印一个反向三角形我遇到了一些问题,我希望实现这个模式:
******
***
*
但我的目标是通过数字:
来实现这种模式333221
221
1
所以,到目前为止,这是我的代码:
int x = 1;
for(int r=0;r<3;r++)
{
x=x+r;
for(int c=0;c<x;c++)
{
System.out.print("*");
}
x+=1;
System.out.println();
}
输出竖直,如下所示:
*
***
******
我想使用上面显示的数字制作反向模式。
任何人都可以告诉我如何处理它吗?谢谢!
答案 0 :(得分:1)
我会这样做:
for (i = 3; i > 0; i--) {
for (j = i; j > 0; j--) {
for (c = j; c > 0; c--) {
System.out.print(j);
}
}
System.out.println();
}
答案 1 :(得分:0)
您只需要颠倒循环的顺序并递减x而不是递增它。我改变了一些代码:
int level = 3;
for(int r=level ; r>0 ; r--) {
for(int c=r ; c>0 ; c--)
for (int x=0 ; x<c ; x++)
System.out.print("*");
System.out.println();
}
答案 2 :(得分:0)
int depth = 3;
for (int r = depth + 1; r >= 0; r--) {
for (int c = 0; c < r; c++)
for (int b = 0; b < c; b++)
System.out.print("*");
System.out.println();
}
答案 3 :(得分:0)
@Test
public void reverseTriangle(){
int num = 3;
for (int i = num; i > 0; i--) {
this.draw(i);
System.out.println();
}
}
private void draw(int num) {
int total = 0;
for (int i = 0; i <= num; i++) {
total = total + i;
}
for (int i = 0; i < total; i++) {
System.out.print("*");
}
}