打印倒直角三角形的问题

代码如下:
import java.util.*;
public class Trigon {
public static void main(String[] args){
int trigon = 0;
System.out.print("请输入直角三角形:");
Scanner input = new Scanner(System.in);
trigon = input.nextInt();
for(int i=0;i<trigon;i++){
for(int j=1; j<trigon+1-i;j++){
System.out.print("*");
}
System.out.print("\n");
}
}
}
疑问点: 内循环 int j=1; j<trigon+1-i;j++ 解释下含义
题目【提示的信息是某一行于该行*号数之和等于行数加1 】

第1个回答  2012-04-26
外面的for循环表示要打印一个多少行的倒三角型。
内循环 int j=1; j<trigon+1-i;j++表示每行要输出多少个“*”;
比如说,用户输入4,表示要打印一个4行的倒三角。当i=0的时,表示开始打印第一行,进入内循环,从j=1,j<5,j++,即表示j可以取1,2,3,4四种情况,这四种情况都满足打印“*”的条件,因此第一行就要打印4个“*”。
第一次循环完毕,i变成1,表示开始打印第二行,因此j=1,j<4,则j可以取1,2,3.就可以打印出三个“*”。一直循环遍历,直到i=3,j就只能取1.所以第四行打印一个“*”。

打印完毕。。本回答被提问者采纳