打印倒直角三角形问题

代码如下:
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 】

运行如下:
请输入直角三角形:5
*****
****
***
**
*
解释:int j=1; j<trigon+1-i;j++这一句没必要先+”1“再-“行”,可以写如下更好:int j=1; j<=trigon-i;j++,少一步运算。其时两句代码意思是一样的:内循环控制每行输出*的个数
int j = 1,设一个变量,这个代表第i行第j个字符要输出的符号是什么;条件是: j<=trigon-i(第几行中需要输出*个数的控制,递减状态);变量j递增
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-26
这段程序的打印结果应该是这个样子:
*****
****
***
**
*
不知道是不是你要的结果。
至于内循环,你看是不是很像(int j=0 ; j <trigon - i ; j ++),就是说每次打印的*号都减少一个