for循环之打印三角形

知识点
💖要弄清楚行数row,空格space,星星star之间的关系;
一.直角三角形(左上左下右上右下,都有图)
1.1打印直角三角形(左上)

/**打印直角三角形
*
**
***
****
*****
如上图
*/
class DemoXing2 {
	public static void main(String[] args) {

	  //打印行数row
		for(int row=1;row<=5;row++){

	   //打印星星
	      for(int star=0;star <row ;star++){
        System.out.print("*");
        }
		//换行
        System.out.println();
      }
    }
}

1.2打印倒直角三角形(左下)

/**打印倒直角三角形
*****
****
***
**
*
如上图
*/
class DemoXing3 {
	public static void main(String[] args) {

	  //打印行数row
		for(int row=1;row<=5;row++){

	   //打印星星
	      for(int star=5;star>=row ;star--){
        System.out.print("*");
        }
		//换行
        System.out.println();
      }
    }
}

1.3打印直角三角形(右上)

/*打印三角形
    *
   **
  ***
 ****
*****
如上图
*/
class DemoXing4{
	public static void main(String[] args) {

	  //打印行数5
		for(int row=1;row<=5;row++){

	   //打印空格
        for(int space=1; space<=5-row;space++){
		System.out.print(" ");
         }
		//打印星星
	      for(int star=1;star<=row;star++){
        System.out.print("*");
        }
		//换行
        System.out.println(); 
    }
  }
}

1.4打印直角三角形(右下)

/**打印如图三角形
*****
 ****
  ***
   **
    *
如上图
*/
class DemoXing7{

    public static void main(String[] args) {

        for(int row =1;row<=5;row++)
        {
            for(int space=0;space<=row-1;space++)
            {
                System.out.print(" ");
            }
            for(int star=5;star >= row;star--)
            {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

💖二.打印等腰三角形
2.1正等腰三角形

/*打印等腰三角形
   *
  ***
 *****
*******
例如上图
*/
class DemoXing {
	public static void main(String[] args) {

	  //打印行数row
		for(int row=1;row<=4;row++){

			//打印空格
             for(int space=1; space <= 4-row;space++){
		System.out.print(" ");
	   }

	   //打印星星
	      for(int star=1;star <= 2*row -1;star++){
        System.out.print("*");
        }
		//换行
        System.out.println();
      }
    }
}

2.2打印用户输入指定行数的等腰三角形

/*打印用户输入指定行数的等腰三角形
*/
import java.util.Scanner;
class DemoXing1{
	public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
			for(;;){
			System.out.println("请输入行数");
			int rows = scanner.nextInt();
			//打印行数
			for(int row = 1; row <= rows; row++){
				//打印空格
				for(int space = 1; space <= rows - row; space++){
					System.out.print(" ");
				}

				//打印星星
				for(int star = 1; star <= 2*row -1;star++){
					System.out.print("*");
				}
				//换行
				System.out.println();
			}
			
			//给用户提示是否继续输入? y/n
			System.out.println("是否继续打印?y/n");
			//接收用户输入的是y还是n
			String selection = scanner.next();
			if("y".equals(selection)){
				//继续打印三角形 continue
				continue;
			}else{
				//不打印,退出循环 break:退出本层循环
				break;
			}
		}
	}
}
### 使用嵌套 `for` 循环打印三角形图案 可以利用嵌套的 `for` 循环来构建不同类型的三角形图案。下面展示几种常见的三角形模式及其对应的代码实现。 #### 正向直角三角形 这种情况下,每一行中的星号数量随着行数增加而线性增长: ```python rows = 5 for i in range(rows): for _ in range(i + 1): print("*", end="") print() ``` 此段代码会生成如下所示的图形[^2]: ``` * ** *** **** ***** ``` #### 倒置直角三角形 对于倒置版本,则是从最大宽度逐渐减少至零: ```python rows = 5 for i in range(rows, 0, -1): for _ in range(i): print("*", end="") print() ``` 这将输出一个顶部宽底部窄的形状[^1]: ``` ***** **** *** ** * ``` #### 等腰三角形(中心对齐) 为了使三角形居中显示,在每行前添加适当数量的空间字符可达到效果: ```python rows = 5 for i in range(rows): # 打印前置空白空间 for space in range(rows - i - 1): print(" ", end=" ") # 打印星星 for star in range((i * 2) + 1): print("*", end=" ") print() ``` 上述代码能够形成具有视觉上更接近传统意义上的等边或等腰三角形的效果[^3]: ``` * * * * * * * * * * * * * * * ``` 请注意,这里的间距是为了更好地模拟实际外观;具体应用时可以根据需求调整空格的数量。 #### 中心对齐的倒立等腰三角形 同样可以通过控制外层循环的方向和内部逻辑的变化来创建倒立版的等腰三角形: ```python rows = 5 for i in range(rows, 0, -1): # 打印前置空白空间 for space in range(rows - i): print(" ", end=" ") # 打印星星 for star in range((i * 2) - 1): print("*", end=" ") print() ``` 这段程序将会呈现一个上下颠倒但仍保持良好比例关系的等腰三角形[^4]: ``` * * * * * * * * * * * * * ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值