展开全部
public static void main(String[] args) {
method1();
method2();
}/**
* 第二种方法,单层循环
*/
public static void method2() {
int maxVal = 15; // 最大值boolean newRow = true; // 是否新行开始
int rowNum = 1; // 行号
int maxRow = maxVal / 3; // 最大行数int upVal = 0;int val = 0; // 应输出的值
for (int i = 1; i <= maxVal; i++) {
if (newRow) {
upVal = maxRow; // 新行增长率初始e69da5e6ba903231313335323631343130323136353331333332643865化
val = rowNum++; // 得到新行起始值(行号)
newRow = false; // 当前行开始
System.out.println();
}
System.out.print(val + " ");
val += upVal--;// 新的一行开始,为什么是+2 而不是+1, 希望你能理解
if (upVal - rowNum + 2<= 0)
newRow = true;
}}/**
* 第一种方法,双重循环</