import java.util.Arrays;
//把这个打印看成数组,从二维数组角度看,
// 用行数约束列数,当列数等于行数后内循环结束。
/* (1,1)
(2,1)(2,2)
(3,1)(3,2)(3.3)
*
* *
* * *
* */
public class Test1 {
public static void main(String[] args) {
for(int i=1; i<= 4; i++){//外层循环代表行
for (int j=1; j<= i; j++){
//内层循环代表列,用行数约束列数
System.out.print("*\t");
}
System.out.println();
}
}
}
public class Test2 {//打印99乘法表
public static void main(String[] args) {
for (int i=1;i<=9;i++){//外循环代表行数
for (int j=1;j<=i;j++){//内循环代表列数
System.out.printf("%d * %d = %d\t",j,i,j*i);
}
System.out.println();
}
}
}
public class Test3 {
/*
* 用二维数组来表示,同时行列之间存在约束关系。
* 前面列空着,后面列显示。用逆序表示,构建关系。
* 当列数开始小于等于行数时打印
* (1,1)
* (2,2) (2,1)
* (3,3) (3,2) (3,1)
* *
* * *
* * * *
* */
public static void main(String[] args) {
for (int i=1; i<5 ; i++){//外循环代表行数
for (int j=4; j>0; j--){//内循环代表列数
if (i<j){
System.out.print(" \t");
}else{
System.out.print("*\t");
}
}
System.out.println();
}
}
}
public class Test4 {
/*
嵌套循环,并列循环
*
* * *
* * * * *
* * * * * * *
变形为下图,做两个内循环填充图形。
o填充的地方(与行的关系):行数-第几行(4-i)
*填充的地方(与行的关系):先填充完0之后,再填充2*i-1个*
o o o *
o o * * *
o * * * * *
* * * * * * *
* */
public static void main(String[] args) {
for (int i=1;i<=4;i++){//外循环表示行
for (int j=1;j<=4-i;j++){//并列内循环,填充内容,与行的关系
System.out.print(" \t");
}
for (int k=1;k<=2*i-1;k++){//并列内循环,填充内容,与行的关系
System.out.print("*\t");
}
System.out.println();
}
}
}