Java打印菱形与空心菱形

article/2025/10/1 4:49:51

打印菱形尤其是空心菱形对于初学者来说有一定难度,熟练掌握了for循环后,还是可以打印出来的

分析:1.先打印上半部分,再打印下半部分

           2.找准空格与星号之间的关系,然后再打印

           3.上半部分每一行数目分别为 1 、3、5、7、9、7、5、3、1

           4.找准关系 2*i-1

       

 

// 练习二:打印菱形与空心菱形

//打印菱形:

        for (int i = 1; i <= 5; i++) {//打印上半部分空格
            for (int j = 1; j <= 5 - i; j++) {
                System.out.print(" ");
            }
            for (int j = 1; j <= 2 * i - 1; j++) {//打印上半部分*
                System.out.print("*");
            }
            System.out.println();
        }
        for (int i = 4; i >= 1; i--) {
            for (int j = 1; j <= 5 - i; j++) {
                System.out.print(" ");
            }
            for (int j = 1; j <= 2 * i - 1; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println("-----------------");

 

 

        // 空心菱形
        for (int i = 1; i <= 5; i++) {
            // 打印上半部分空格
            for (int j = 1; j <= 5 - i; j++) {
                System.out.print(" ");
            }
            // 打印原本实心的*部分
            for (int j = 1; j <= 2 * i - 1; j++) {
                // 仅在一行的开头和末尾打印*
                if (j == 1 || j == 2 * i - 1) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }
            }
            System.out.println(" ");
        }
        for (int i = 4; i >= 1; i--) {
            // 打印下半部分空格
            for (int j = 1; j <= 5 - i; j++) {
                System.out.print(" ");
            }
            // 打印原本实心的*部分
            for (int j = 1; j <= 2 * i - 1; j++) {
                // 仅在一行的开头和末尾打印*
                if (j == 1 || j == 2 * i - 1) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }
            }
            System.out.println(" ");
        }


http://chatgpt.dhexx.cn/article/lZOll9mn.shtml

相关文章

用Java打印菱形(奇数行菱形)

打印出如下图案&#xff08;菱形&#xff09; * *** ***** ******* ***** *** * 分析&#xff1a; 具有最多*的一行是第四行&#xff0c;且有7个。 将菱形看成有二个三角形组成的&#xff0c;上4行&#xff08;第一个三角形&#…

java 打印菱形和空心菱形

显示效果是这样的&#xff1a; 代码如下&#xff1a; int hangshu 11;int yiban hangshu / 2 1;int yibanduo hangshu / 2;System.out.println("空心菱形&#xff1a;");for(int k 1;k < yiban;k){for(int i 1;i < (yiban - k);i){System.out.print(&qu…

java实现打印菱形(任意输入数字打印任意阶菱形)

1.我们举例一个五阶菱形作为例子&#xff1a;如图 我们要打印输出如上图形&#xff0c;我们要先打印上半部分&#xff0c;第一行4个空格&#xff0c;然后打印1个星号&#xff0c;换行。接着打印3个空格&#xff0c;3个星号。2个空格&#xff0c;5个星号。1个空格和7个星号。最后…

Java实现打印输出菱形

Java实现打印输出菱形 思路 把菱形分成两部分输出&#xff0c;然后拼接 Scanner sc new Scanner(System.in);System.out.println("请输入一个整数&#xff1a;");int n sc.nextInt();//菱形上半部分for (int i 1; i < n; i) {//输出空格占位for (int j n; j…

Java打印菱形图案

打印菱形图案首先要对菱形进行分析&#xff0c;如下图示所示将菱形分为上下两部分&#xff0c;上部分 * 的数量是1、3、5、7、9以此类推&#xff0c;" "的数量是4、3、2、1;下半部分 * 的数量是7、5、3、1&#xff0c;" "的数量是1、2、3、4&#xff0c;以…

【技术】Java打印菱形

Java打印菱形 Java打印菱形先看效果&#xff1a;题目分析代码 Java打印菱形 先看效果&#xff1a; 题目分析 1、星号前面的空白要用空格代替。 2、把图形分为上下两部分&#xff0c;分别找出行数与“空格”和“*”的关系 上半部分&#xff08;正三角&#xff09;&#xff1a;…

Java语言打印菱形(附图解,简单易懂)

怎么打印以下菱形图案&#xff1f; 为了便于观看将所有" (空格)"改为"$"得到如下图: 该图形是利用for循环的嵌套&#xff0c;将该图形分为上下两个部分得到&#xff1a; 上半部分&#xff1a; 下半部分 分析&#xff1a; 行号“$”数“*”数一41二33三25四…

用Java语言编写打印菱形

Java典型例题&#xff08;打印菱形&#xff09; 题目&#xff1a;利用*号打印出一个菱形图样 分析&#xff1a;下面逐步分析菱形打印的推演过程 推演过程利用单独的方法演示&#xff0c;使用时直接在主方法中调用对应的方法即可。 第一步&#xff0c;打印一行*号 /** 打印…

java打印出一个菱形

题目 用键盘读入一个字符&#xff0c;然后在屏幕上显示一个用这个字符填充的对角线长5个字符&#xff0c;倾斜放置的菱形。 输入描述&#xff1a; 输入一个char类型字符 输出描述&#xff1a; 输出一个用这个字符填充的对角线长5个字符&#xff0c;倾斜放置的菱形 示例1 输入&a…

java;打印菱形

本文讲述如何用Java打印一个菱形&#xff0c;以及打印直角和等腰三角形的方法&#xff0c; 本文教程比较详细&#xff0c;如果想要直接学习菱形可以直接翻到本文最下方&#xff01;&#xff01;&#xff01; 左下角三角形 &#xff08;这里说的方位均是对应矩形来说&#xff09…

拓扑排序算法详解(通俗且详细)

数据结构第9章图——拓扑排序 … … …

【C语言】拓扑排序算法

文章目录 AOV网拓扑排序算法实现步骤代码实现 AOV网 在一个工程的有向图中&#xff0c;用顶点表示活动&#xff0c;用弧表示活动之间的优先关系&#xff0c;这样的有向图为顶点表示活动的网&#xff0c;我们称为AOV网&#xff08;Activity on Vertex Network&#xff09;。AOV…

图论算法-拓扑排序:专题

是什么 有向图中&#xff0c;对所有的节点进行排序&#xff0c;要求没有一个节点指向它前面的节点。 怎么做 步骤 遍历到所有入度为0的节点&#xff0c;加入队列&#xff1b;如果没有这样的点&#xff0c;说明有向图构成环&#xff0c;则该图无解&#xff0c;结束算法找到与…

基于DFS的拓扑排序算法实现

对于有向无环图G中的任意结点u,v,它们之间的关系必然是以下三种之一&#xff1a; &#xff08;1&#xff09;假设结点u是结点v的祖先&#xff0c;则在调用DFS访问u的过程中&#xff0c;必然会在这个过程结束之前递归地对v调用DFS访问&#xff0c;即v的DFS函数结束时间现语u的D…

【排序算法】排序算法-拓扑排序

拓扑排序 相关概念AOV网拓扑排序 实现思路实现过程 代码测试测试类测试样例 相关概念 AOV网 一项大的工程常被分为多个小的子工程 子工程之间可能存在一定的先后顺序&#xff0c;即某些子工程必须在其他的一些子工程完成后才能开始 在现代化管理中,人们常用有向图来描述和分析…

算法提升:图的拓扑排序算法

目录 概念 思路 代码 概念 拓扑序列&#xff1a;一些活动&#xff0c;其中某些活动必须在另一些活动完成之后才能开始&#xff0c;一定是无环的有向图&#xff0c;称为AOV网。 拓扑排序&#xff0c;其实就是对一个有向图构造拓扑序列的过程。构造时会有两个结果&#xff1a…

leetcode-拓扑排序算法

拓扑排序原理 拓扑排序算法分析&#xff08;通俗易懂&#xff09;_hongjie_lin-CSDN博客_拓扑排序算法 207 课程表 bfs和dfs都可以。先来看一下bfs。 思路是&#xff1a;入度法&#xff0c;入度为0的时候&#xff0c;表示这门课程没有先修课程了&#xff0c;可以学习这门课程了…

2022.3.24 图论——拓扑排序算法

文章目录 一、拓扑排序简介二、例题1.题目2.分析3.代码 一、拓扑排序简介 1.Topological Sorting&#xff0c;指的是一个DAG(Directed Acyclic Graph)即有向图所有顶点满足一定条件的线性序列。 拓扑序列应满足两个条件&#xff1a; 每个点都只出现一次 如果存在一条从A指向B…

数据结构——图——拓扑排序算法

数据结构——图——拓扑排序算法 对AOV网进行拓扑排序的基本思路是:从AOV网中选择一个入度为0的顶点输出&#xff0c;然后删去此顶点&#xff0c;并删除以此顶点为尾的弧&#xff0c;继续重复此步骤&#xff0c;直到输出全部顶点或者AOV 网中不存在入度为0的顶点为止。 首先我…

拓扑排序详解(包含算法原理图解、算法实现过程详解、算法例题变式全面讲解等)

前置知识 有向无环图 在图论中&#xff0c;如果一个有向图无法从某个顶点出发经过若干条边回到该点&#xff0c;则这个图是一个有向无环图&#xff08;DAG图&#xff09;。 如图所示。 入度 对于一个有向图&#xff0c;若x点指向y点&#xff0c;则称x点为y点的入度。 出度…