Java for循环嵌套打印菱形(可控输出行数)

for循环嵌套打印菱形

仅仅给予初学者思路,欢迎大佬评论留言。

import java.util.Scanner;

public class Diamond {

	/**
	 * main方法,程序入口
	 */
	public static void main(String[] args) {
		// 实例化Scanner
		Scanner scan = new Scanner(System.in);

		// 打印提示
		System.out.println("请输入菱形打印行数(只能为奇数):");
		// 获取用户想要的打印行数
		int line = scan.nextInt();

		// 判断打印行数是否为奇数
		if (line % 2 == 1) {// 是奇数
			// 创建菱形
			
			// 声明整形变量halfLine表示打印行的一半数
			int halfLine = line / 2;
			// 声明middleLine表示中间行是第几行
			int middleLine = (line + 1) / 2;
	
			// 进行循环打印菱形
			for (int i = 1; i <= line; i++) {
				// 判断打印行数是否过半
				if (i <= halfLine) {// 没有过半
					// 循环打印空格符
					for (int j = halfLine; j >= i; j--) {
						System.out.print(" ");
					}
	
					// 循环打印正三角形
					for (int j = 0; j < 2 * i - 1; j++) {
						System.out.print("*");
					}
				}
				
				// 判断打印行数是否达到中间行
				if (i == middleLine) {// 达到中间行
					// 打印中间最长一行
					for (int j = 0; j < middleLine * 2 - 1; j++) {
						System.out.print("*");
					}
				}
	
				// 判断打印行数是否过半
				if (i > middleLine) {// 打印行数已经过半
					// 循环打印空白符
					for (int j = 0; j < i - middleLine; j++) {
						System.out.print(" ");
					}
	
					// 循环打印倒三角
					for (int j = 2 * (line - i); j >= 0; j--) {
						System.out.print("*");
					}
				}
	
				System.out.println();
			}
		} else if (line % 2 != 1) {// 不是奇数
			// 提示数值有误
			System.out.println("行数只能为奇数!");
		}

		// 关闭流
		scan.close();
	}
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值