Java打印菱形(一)

article/2025/10/1 4:16:03

用Java实现实心菱形打印

如何用Java打印实心菱形?
我们可以把菱形拆分看成两个图形,一个正三角和一个倒三角图形,然后我们分别实现正三角和倒三角图形的打印,最后进行拼接成菱形

正三角打印

for (int i = 1; i <= 5; i++) {//外层控制行数 5行/*空格规律:第一行===》4个空格第二行===》3个空格第三行===》2个空格第四行===》1个空格第五行===》0个空格*/for (int j = 5; j > i; j--) {//控制空格数,1表示空格 System.out.print("1");}/*星号规律:第一行===》1个星号第二行===》3个星号第三行===》5个星号第四行===》7个星号第五行===》9个星号*/for (int j = 1; j <= 2 * i - 1; j++) {//控制星号数System.out.print("*");}System.out.println();//内层循环完后进行换行
}

效果图
在这里插入图片描述
倒三角打印

for (int i = 1; i <= 5; i++) {//外层控制行数 5行/*空格规律:第一行===》0个空格第二行===》1个空格第三行===》2个空格第四行===》3个空格第五行===》4个空格*/for (int j = 1; j < i; j++) {// 控制空格数,1表示空格System.out.print("1");}/*星号规律:第一行===》9个星号第二行===》7个星号第三行===》5个星号第四行===》3个星号第五行===》1个星号*/for (int j = 9; j >= 2 * i - 1; j--) {// 控制星号个数System.out.print("*");}System.out.println();
}

效果图

在这里插入图片描述
对两个三角形进行拼接优化打印菱形

	Scanner scan = new Scanner(System.in);System.out.print("请输入需要打印实心菱形的行数:");int numLine = scan.nextInt();//对用户输入的数进行判断while (true) {if(numLine < 2) {System.out.print("菱形不能小于两行,请重新输入:");numLine = scan.nextInt();}else {break;}} ;// 正三角for (int i = 1; i <= numLine; i++) {// 控制行数for (int j = numLine; j > i; j--) {// 控制空格数System.out.print(" ");}for (int j = 1; j <= 2 * i - 1; j++) {// 控制星号个数System.out.print("*");}System.out.println();}// 倒三角for (int i = 1; i < numLine; i++) {//为什么拼接后j=0?因为拼接后去掉了最上面的一层空格就变成了从1开始for (int j = 0; j < i; j++) {// 控制空格数System.out.print(" ");}//同理,星号要减去一行,所以j >= 2 * i + 1而不是j >= 2 * i - 1了for (int j = 2 * numLine - 1; j >= 2 * i + 1; j--) {// 控制星号个数System.out.print("*");}System.out.println();}// 关闭扫描,释放资源scan.close();

效果图
在这里插入图片描述
欢迎大家提供新的思路及解决方法!


http://chatgpt.dhexx.cn/article/7bxugtK2.shtml

相关文章

java-打印空心的菱形

代码 /* 空心菱形 层数只能取奇数 */ public class HollowDiamond {/*** ** ********思路分析化繁为简1. 先打印一个矩形*************************2. 打印半个金字塔* //第1层 有 1个*** //第2层 有 2个**** //第3层 有 3个***** //第4层 有 4个****** //第5层…

使用java打印菱形(实心)

声明&#xff1a;图形的打印考验的是逻辑思维能力&#xff0c;与计算机语言熟练程度无关。逻辑思维能力弱的同鞋&#xff0c;做不了研发可以做开发。 一、效果图 代码&#xff1a; package com.test;/*** 实心菱形* * author PETER* */ public class TestDemo3 {public stati…

java打印菱形(Java打印菱形图案)

如何用java语句打印菱形 Java打印菱形图案第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印。 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环。并且由于“*”位置的关系,…

(Java) 实现打印菱形图案

Java 实现打印菱形图案 一、直接看效果图&#xff1a; 随便输入一个数字&#xff0c;然后会生成一个宽度为该数字的菱形&#xff1a; 二、首先先来看下&#xff0c;菱形的结构&#xff0c;由符号和空格组成&#xff0c;所以就用for循环来实现这样的效果&#xff0c;然后来看代码…

Java使用for循环打印菱形

这是很多人在入门学习Java时,经常遇见的一种题,它考察的是学习者对for循环的理解程度. 解题思路:我们可以将菱形分为上下两部分,上部分空格逐行减少,星号逐行增加,下半部分则刚好相反,空格逐行增加,星号逐行减少. 下面是笔者所写代码. public class Demo {public static void…

Java打印菱形与空心菱形

打印菱形尤其是空心菱形对于初学者来说有一定难度&#xff0c;熟练掌握了for循环后&#xff0c;还是可以打印出来的 分析&#xff1a;1.先打印上半部分&#xff0c;再打印下半部分 2.找准空格与星号之间的关系&#xff0c;然后再打印 3.上半部分每一行数目分别为 1 、3、5、7、…

用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…