栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java :for循环 单外层循环打印倒三角形,正三角形拼接

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java :for循环 单外层循环打印倒三角形,正三角形拼接

import java.util.Scanner;

public class TestA {
	public static void main(String[] args) {

        // m 是指上半部分倒三角形去掉下顶点后的行数
        System.out.print("输入m的值:");
        int m = scanner.nextInt();

		for (int i = 0; i <= m * 2; i++) {// 打印的总行数 m * 2
			// 以if-else来控制什么时候循环哪一部分;
			if (i < m) { // 此时 i = 0; 上半部分循环次数为 m; 总循环次数为m * 2;

				// 上半部分将不打印下顶点,其由下半部分打印
				// 如果 i < m,则循环上半部分,打印上半部分倒三角形
				for (int j = 0; j <= i; j++) {// 将倒三角形左边空白以打印正直角三角形的方式使用空格填充
					System.out.print("  ");
				}

				// 将倒三角形分成左右两部分,下顶点由下半部分打印
				for (int j = m; j > i; j--) {// 倒三角形左半部分,即为打印倒直角三角形,每行比上一行少一
					System.out.print("* ");
				}
				for (int j = m; j >= i; j--) {// 倒三角形右半部分,同样为打印倒直角三角形,比倒三角形左半部分多一次打印
					System.out.print("* ");
				}
				System.out.println();// 完成一行打印后换行

			} else {// 此时 i = m; 下半部分循环次数为 m + 1; 总循环次数为m * 2;

				// 如果 i >= m,则循环下半部分,打印下半部分正三角形
				// 将i看作0,将 m * 2看作m
				for (int j = m * 2; j >= i; j--) {// 将三角形左边空白以打印倒直角三角形的方式使用空格填充
					System.out.print("  ");
				}
				for (int j = m * 2 - i; j <= i; j++) {// 打印正三角形,每行比上一行多二
					System.out.print("* ");
				}
				System.out.println();// 完成一行打印后换行
			}

		}

		System.out.println("============================================");
	}

	static Scanner scanner = new Scanner(System.in);
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/605469.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号