Java使用多重for循环打印实心三角形,倒立三角形以及空心菱形

Java使用多重for循环打印实心三角形,倒立三角形以及空心菱形

使用双重for循环打印倒立三角形和菱形算是在循环嵌套里面,自我感觉比较难的第一个程序

这是本次要打印的目标:
这是本次要打印的目标

 打印上图实心三角形思路如下:
 	1. 先打印左边的空格
 	2. 再打印空格后边的符号*
 	3. 规律:第一行有一个*
 			第二行有三个*
 			第三行有五个*
 			...
 			每一行都有2 * i - 1 个*
 			故打印*号时,可以选择 <= 2 * i -1 或者 < 2 * i
// 代码实现如下 Java
/**
*	1. 通过Scanner从键盘获取用户自定义输入的三角型行数
*	2. 再通过循环先打印出空格
*	3. 最后打印出符号*
*/
	Scanner myScanner = new Scanner(System.in);
	int line = myScanner.nextInt(); // 获取用户输入的列数
	for (int i = 1; i <= line ; i++) {
   
		// 先打印空格
		for (int k = 0; k < line - i; k++) {
   
			System.out.print(" "); //这里需要注意:println是自带换行的,故要换成print取消自动换行
		}
		// 再打印符号*
		for (int j = 1; j < 2 * i; j++) {
   
			System.out.print("*");
		}
		// 最后在打印完一行之后,就换行 println()自带换行功能
		System.out.println();
	} 

结果如下:
这是本次要打印的目标


打印进阶:打印出空心三角形

进阶目标:
在这里插入图片描述
思路和打印实心三角形一样,只不过将打印三角形内部的符号*换成空格

// 代码实现和上述相同,只是在打印内部符号的时候添加判断,判断打印的是否为三角形的两边以及底部,代码如下 Java:
/**
*	1. 通过Scanner从键盘获取用户自定义输入的三角型行数
*	2. 再通过循环先打印出空格
*	3. 最后打印出符号*
*	因为三角形左右两边的符号是对称的,需要 * 2来表示
*	参数说明:
* 		j == 1 表示打印完空格后,三角形左边的边
* 		j == 2 * i - 1 表示打印完内部空格后的最右边的边
* 		i == line 表示打印最后一行,底部的全部符号
*/
	Scanne
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值