Java中如何在控制台上打印一个菱形

Java:控制台打印菱形  编写程序,实现:在控制台输入一个奇数,打印相应行数的菱形。 例:输入7,输出结果如下, 【解析】这种问题主要用到了循环的嵌套,对于很多的新手来说着实费了不少头脑。难度在于如何计算空格和“*”的个数,那么就这俩问题进行分析。 第一步,将这个图形分为上下两部分,如图。 第二步,就是分别打印这两个部分。在这里我们需要两个变量来分别寄存“ “和“*”的个数, 用k代表“ ”,用... 阅读详情

打印出如下的棱形图形:
在这里插入图片描述
这题考查的是对循环的理解和运用。
分析:打印这个图形可以分为上半部分和下半部分。
首先打印输出上面的半个正三角,它一共五行,由前面的空格和后面的 * 组成,观察行数与空格之间的关系可以发现,如下规律:
上半部分
行数i

第0行:4个空格+1个*,空格数量:4-i --> 4-0=4 ※的数量:2×i+1 2×0+1=1
第1行:3个空格+3个*,空格数量:4-i --> 4-1=3 ※的数量:2×i+1 2×1+1=3
第2行:2个空格+5个*,空格数量:4-i --> 4-2=2 ※的数量:2×i+1 2×2+1=5
第3行:1个空格+7个*,空格数量:4-i --> 4-3=1 ※的数量:2×i+1 2×3+1=7
第4行:0个空格+9个*,空格数量:4-i --> 4-4=0 ※的数量:2×i+1 2×4+1=9
下半部分
行数i

第0行:1个空格+7个* , 空格数量:i+1 ※的数量:2×(3-i)+1=7-2×i
第1行:2个空格+5个* , 空格数量:i+1 ※的数量:2×(3-i)+1=7-2×i
第2行:3个空格+3个* , 空格数量:i+1 ※的数量:2×(3-i)+1=7-2×i
第3行:4个空格+1个* , 空格数量:i+1 ※的数量:2×(3-i)+1=7-2×i

因此,程序可以分开写成如下形式:

public class diamondTest{
	public static void main(String[] args){
		//上半部分
		for(int i=0;i<5;i++) {//i表示行数
			//打印空格
			for(int j=0;j<4-i;j++) {
				//不换行打印
				System.out.print(" ");
			}
			//打印*
			for(int j=0;j<2*i+1;j++) {
				System.out.print("*");
			}
			//换行
			System.out.println();
		}
		//下半部分
		for(int i=0;i<4;i++) {//i表示行数
			//打印空格
			for(int j=0;j<i+1;j++) {
				System.out.print(" ");
			}
			//打印*
			for(int j=0;j<7-2*i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

使用java打印所有图形 使用java打印直角三角形,等腰三角形,菱形,实心正方形,空心正方形 立即下载

相关推荐

Java控制台小程序 - 根据输入的字符打印出放大后的字符图

使用Graphic打印出字符,而后读取其中的像素,再进行打印,只要是字库中有的字符,都可以将其放大并打印。

Java 一步一步教你在控制台打印出菱形

******* ******* ******* ******* ******* 从最简单的开始,先输出一个矩形 // 控制打印的行数 for (int i = 0; i < 5; i++) { // 每一行打印*的个数 for (int j = 0; j < 7; j++) { System.out.print("*"); } // 进行换行

鑫宇的博客 1474

智能音箱麦克风阵列实战:Python实现宽带GSC波束形成(附完整代码)

本文从工程实战角度,详细介绍了如何在智能音箱中利用Python实现宽带GSC波束形成算法。文章深入解析了广义旁瓣消除器(GSC)的核心架构,包括固定波束形成、阻塞矩阵与自适应滤波路径,并提供了完整的仿真代码、关键参数(如LMS步长)调优方法,以及面向嵌入式部署的计算优化与移植考量,旨在帮助开发者构建在真实噪声环境下高效工作的语音增强系统。

opencv7vision的博客 342

Java用*号在控制台输出三角形与菱形

Java使用*号如何在控制台输出三角形和菱形

easyCTF的博客 7018

手把手教你绕过网易易盾验证码:滑块、点选、语序全攻略

本文深度解析了以网易易盾为代表的现代验证码技术,重点探讨了滑块、点选、语序及空间推理等交互式验证码的工作原理与对抗策略。文章从行为验证和空间推理的核心逻辑出发,剖析了验证码交互的数据流与关键参数,并提供了模拟人类行为轨迹、维护设备指纹等工程实践方法,旨在帮助开发者在合规前提下设计更健壮的自动化流程。

3c4x5z6v7b的博客 706

【已解决】如何在服务器中下载huggingface模型,解决huggingface无法连接

在服务器上使用huggingface模型时,如果直接指定模型名称,用AutoTokenizer.from_pretrained(“model_name”),可能会由于网络原因会报错 Failed to connect to huggingface.co port 443 after 75018 ms: Operation time out因此我们需要下载模型到服务器上,得到模型本地的路径model_dir,再通过AutoTokenizer.from_pretrained(model_dir)方式来使用。

a61022706的博客 4万+

java基础demo, 用任意符号在控制台打印菱形,主要是编程规范及面向对象思想。

java基础练习,通过入口函数随机一个N值,打印出一个相应的菱形 首先这个题目不难,思路也很清晰,画图即可。 其次实现到什么程度,如何提高代码可重用性,及可扩展性。下面这段代码实际相当于一个工具类了,用于画出菱形的形状, 菱形的形状可能菱形高度(随机数代替)是奇数或偶数,这里当高度为偶数时打印的菱形不算很严谨。由于比较懒不想手动在控制台输入一些数,于是采用随机数代替。 用Star类可以控制...

csdn277的博客 639

Bulk / Smart-seq2数据分析一般流程

Bulk RNA-seq(RNA-Seq of bulk samples)是一种RNA-Seq技术应用,它是通过将整个组织或细胞群体的RNA提取并混合,进行高通量测序来分析基因表达的技术。转录本定量结果可以用于后续的差异表达分析和聚类分析。功能注释和富集分析:对差异表达基因进行功能注释和富集分析,以帮助理解差异表达基因的功能和调控网络,从而获得对研究样品的更深入的理解。数据可视化:最后,将聚类分析的结果进行可视化,可以使用常见的数据可视化工具,如ggplot2、Plotly等,来帮助用户更好地理解数据。

weixin_54519672的博客 5350

java小练习之控制台打印菱形

用"*"打印一个七行七列的菱形。

admin076的博客 598

从零到一:手把手教你用HFSS仿真60GHz圆极化磁电偶极子天线(附参数调优心得)

本文详细介绍了在HFSS中设计60GHz圆极化磁电偶极子天线的全流程,包括仿真环境搭建、参数化建模、收敛性优化和性能验证。通过系统化的参数扫描和优化策略,显著提升了天线的轴比带宽和增益性能,为毫米波通信应用提供了高效的天线设计解决方案。

weixin_42614269的博客 311

3台虚拟机部署Doris详细文档(含校验步骤)

摘要:本文详细介绍了Apache Doris在3台虚拟机上的集群部署方案。采用1主FE+1从FE+1观察者FE+3BE的混合部署模式,确保元数据高可用性。硬件配置建议测试环境4核16GB内存,生产环境8核64GB内存。部署步骤包括系统环境配置(关闭防火墙、内核参数优化)、FE/BE节点配置启动、集群初始化验证等。重点配置了IP白名单(172.30.0.115)和数据目录(/data/doris)。通过MySQL客户端和WebUI可监控集群状态,实现千万级数据的实时分析能力,后续可通过增加BE节点线性扩展。

weixin_41026747的博客 933

Java控制台打印一个菱形

 /** *//** * Rhombus.java * Java控制台打印一个菱形 * @author 邓超(CodingMouse) * @version 0.1 2008-5-6 * 开发/测试环境:jdk1.6 + eclipse SDK 3.3.2 *///导入Scanner类import java.util.Scanner;public class Rhombus ...{  p

CodingMouse的专栏 1319

SAP 物料的与压缩库存数据不一致

总结:发生这个问题的原因多数会发生在测试系统在拷贝正式系统的时候会发生这样的情况,系统在拷贝的时候,业务数据还在发生,就会导致数据拷贝的时候丢失数据。经过查询发现是由于物料分类账中的物料的库存数量和 ACDOCA_M_EXTRACT表中的数量对不上,导致系统抛出报错的信息。由于是测试系统,直接更改表的数据,把ACDOCA_M_EXTRACT表中的库存数据和金额与物料分类账中的数据保持一致。在测试系统中进行501和561增加库存的时候,系统提示物料的预压缩库存数据不一致的报错。

我小时候很黑的博客 3305

Java控制台超级菱形打印方法

源码清单:/** *//** * SupperRhombus.java * Java控制台超级菱形打印方法 * @author 邓超(CodingMouse) * @version 0.1 2008-5-6 * 开发/测试环境:jdk1.6 + eclipse SDK 3.3.2 *///导入Scanner类和PrintStream类import java.util.Scanner;imp

CodingMouse的专栏 1710

SPICE仿真软件:HSPICE_(20).HSPICE仿真结果的后处理

HSPICE仿真结果的后处理是一个多步骤的过程,包括读取结果文件、可视化、分析和导出。通过使用命令行工具、Python脚本和HSPICE内置工具,可以高效、准确地完成这些任务。Python脚本的灵活性和强大的数据分析能力使其成为后处理的理想选择。自动化处理可以显著提高工作效率,减少人为错误,而高级分析方法可以更深入地理解仿真结果,为电路设计提供有力支持。

kkchenjj的博客 1382

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Java控制台打印实心菱形和空心菱形

个数为[5,3,1],只需在公式2*i-1中把[1,3,5]倒过来,可得i为[3,2,1]也就是,中间隔开,上下对称,上下层数为偶数,加上中间层,所以n必为奇数。外层for循环中的i,从3依次递减到1[3,2,1]菱形里的 " * " ,对应数字:1,3,5,7。数学公式:2*i -1 [i依次为1,2,3]for循环里面i的值为[3,2,1]当 i=1 时,n - i = 3。当 i=3 时,n - i = 1。“#” 的规律为:1,2,3。当i=6时,为菱形的下半部分。“的规律为:5,3,1。

乌药ice 304

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java控制台打印出菱形

mar5342的博客 883

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java 通过控制台输入的数字打印菱形字母

1 package com.rui.test; 2 3 import java.util.Scanner; 4 5 /** 6 * @author sunshine 7 * @version 1.0 8 * @date:2015年11月1日 下午7:34:28 9 * @description: 通过控制台输入的数字打印菱形字母 10 */ ...

weixin_30597269的博客 310

Java控制台打印一个空心菱形

 /** *//** * HollowRhombus.java * Java控制台打印一个空心菱形 * @author 邓超(CodingMouse) * @version 0.1 2008-5-6 * 开发/测试环境:jdk1.6 + eclipse SDK 3.3.2 *///导入Scanner类import java.util.Scanner;public class HollowR

CodingMouse的专栏 1750

java控制台打印菱形_java 控制台打印菱形

java基础练习,通过入口函数随机一个N值,打印出一个相应的菱形思路清晰,画图即可。对了,方法多种,下列非最优解,欢迎探讨。1、CreateStar 类,用于创建菱形package practice.print.star; import com.savvy.wit.web.commons.util.DateUtil; import practice.print.star.business.Sta...

weixin_39714763的博客 254

Java--控制台打印菱形

在这里插入代码片 结果是

qq_29163031的博客 387

java控制台打印菱形

打印出如下图案(菱形) * * * * * * * * * * * * * * * * * * * * * * * * * *...

qq_45424990的博客 621

java语言控制台打印菱形

【代码】java语言控制台打印菱形。

qq_34207156的博客 476

java控制台打印菱形_有趣的java控制台输出-菱形

public class Diamond2 {public static void main(String[] args) {print(7); // 输出7行的菱形}public static void print(int size) {if (size % 2 == 0) {size++; // 计算菱形大小}for (int i = 0; i < size / 2 + 1; i++) ...

weixin_39743369的博客 170

用java在控制台打印菱形

//打印菱形 public static void main(String[] args) { //正三角形打印,i控制行,j控制列 for (int i = 1; i <5; i++) { //第一个循环控制打几个空字符串 for(int j = 5;j>=i;j--){ System.out.print(" "); } //控...

m0_59573057的博客 300

Java利用循环,在控制台打印出菱形。

这个问题是很多新手老生常谈的问题,今天把代码贴出来,希望能帮到你们打开思路,而不是复制粘贴。 思路: 首先要设定行数,并且这个行数是奇数,因为偶数做出来的菱形有点歪。。。 再计算菱形最多的一行的“*”个数。 这时候行数与列数之间的关系是 列数=行数-1。 这里要打印出菱形,那么就要两个for并列输出,一个负责打印上半部,另一个负责打印下半部分。 基本上就差不多了,希望能帮到大家。 pub

从头再来 2578
下一篇: Java中输入一个年月,输出这个年的这个月有几天
Stephen MING
博客等级 码龄7年 3粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值