用多重for循环打印等腰三角形
观察 * 和 空格出现的规则,用多重for循环实现打印等腰三角形,。
思想一:
先打印左边空格,再打印每行空格右边的 * 数,我们发现,左边空格数等于行数 - i ( 如5 - i 注意for循环具体下标开始值) ; 在打印完之后就在每行空格后接着打印 * ;* 的出现规则是 //第一行1个,第二行3个,第三行5个,所有每行 * 数=(2*行数)-1;所有用到3个for循环,第一个循环打印行数;第二个循环打印空格数;第三个循环打印 * 数。
package com.etime;
/**
*
* @author haier
*
* 创建时间:2021年2月5日 下午10:48:12
*/
public class Works03 {
public static void main(String[] args) {
/**
* 用for循环去打印一个等腰三角形
*/
for(int i=1;i<=5;i++) {//第一个for循环打印行数
for(int j=1;j<=5-i;j++) {//第二个for循环打印所有空格,空格就是一个倒三角形
System.out.print(".");//空格用.表示
}
//观察等腰三角形每行*的规则会发展,第一行1个,第二行3个,第三行5个,所有每行*数=(2*行数)-1
for(int k=1;k<=2*i-1;k++) {//第三个for循环打印*数,在每行的空格后接着打印*
System.out.print("*");
}
System.out.println();//每打完一行就换行
}
//打印结果:
// ....*
// ...***
// ..*****
// .*******
// *********
}
}
思想二:
先观察左边的空格,先打印左边的空格再去打印两个斜三角,让他们拼装起来;这里用到四个for循环(注意for循环的初始下标和遍历的取值范围);
package com.etime;
/**
*
* @author haier
*
* 创建时间:2021年2月5日 下午11:38:31
*/
public class Works04 {
public static void main(String[] args) {
/**
* 用for循环去打印一个等腰三角形
*/
for(int i=0;i<5;i++) {//第一个for循环打印行数
for(int j=5;j>i;j--) {//第二个for循环打印所有空格,空格就是一个倒三角形
System.out.print(".");//这里用.表示
}
for(int k=0;k<=i;k++) {//在第一个for循环打印完成后接着打印,第一个斜三角
System.out.print("1");//这里用1表示
}
for(int z=0;z<i;z++) {//在第二个for循环打印完成后接着打印第二个斜三角
System.out.print("2");//这里用2表示
}
System.out.println();//每打印完成一行后进行换行
}
//打印结果:
// .....1
// ....112
// ...11122
// ..1111222
// .111112222
}
}