拿捏--->打印爱心(小心机表白)

news2024/11/15 16:35:59

文章目录

  • 题目描述
  • 算法思路+代码示例
    • 思路一
    • 思路二

题目描述

利用java语言编写算法在控制台打印爱心算法

算法思路+代码示例

思路一

打印心形主要分为上下两部分,如图:
在这里插入图片描述

下边主要是一个倒立三角形,容易打印。
上边可以分为左右两部分,左边的也好打印,也是类似与三角形。控制好右边的空格则就解决了问题,因为他们是控制在同一层,把一行所有的星号输出完毕,再换行。


public class lave {

	public static void main(String[] args) {
		
		int i,j,k;//i层数 j空格 k星号
		
		for(i=0;i<2;i++) {
		//控制左边的星号打印
			for(j=0;j<=2-i;j++) {
				System.out.print(" ");
			}
			for(k=0;k<2*i+4;k++) {
				System.out.print("*");
			}
    
			//控制右边的星号打印
			for(j=4;j>2*i;j--) {
				System.out.print(" ");
			}
			for(k=0;k<2*i+4;k++) {
				System.out.print("*");
			}
			//执行换行
			System.out.println();
		}
		//下边是倒立三角形
		for(i=0;i<8;i++) {
			for(j=0;j<=i;j++) {
				System.out.print(" ");
			}
			for(k=0;k<16-i*2;k++) {
				System.out.print("*");
			}
			System.out.println();			
		}
		

	}

}

结果展示:

在这里插入图片描述

思路二

思路一中打印的爱心比较僵硬,我们可以试着打印一个比较圆润的爱心以达到更美观的效果。如下:


public class Love {
public static void main(String[] args) {
	/*
	 * 打印心形
	 */
	 int n = 4;
     int i, j, m;
     for (i = 1; i <= n; i++) {
         for (j = 1; j <= 2 * (n - i) - 1; j++) {
             System.out.print(" ");
         }
         for (j = 1; j <= 6 + (10 - i) * (i - 1) / 2; j++) {
             System.out.print("*");
         }
         for (j = 1; j <= 2 * n - 1 + (i - 6) * (i - 1); j++) {
             if (i == n)
                 break;
             System.out.print(" ");
         }
         for (j = 1; j <= 6 + (10 - i) * (i - 1) / 2; j++) {
             if (i == n)
                 break;
             System.out.print("*");
         }
         if (i == n) {
             for (j = 1; j <= 6 + (10 - i) * (i - 1) / 2 - 1; j++) {
                 System.out.print("*");
             }
         }
         System.out.println("");
     } // 上面部分
     for (i = 1; i <= n - 2; i++) {
         for (j = 1; j <= 6 + (10 - n) * (n - 1) / 2 - 1 + 6 + (10 - n) * (n - 1) / 2; j++) {
             System.out.print("*");
         }
         System.out.println("");
     } // 中间部分
     m = 6 + (10 - n) * (n - 1) / 2 + 6 + (10 - n) * (n - 1) / 2 - 1;
     for (i = 1; i <= (m - 2 - 3) / 4 + 1; i++) {
         for (j = 1; j <= 2 * i - 1; j++) {
             System.out.print(" ");
         }
         for (j = 1; j <= m + 2 - 4 * i; j++) {
             System.out.print("*");
         }
         System.out.println("");
     }
     for (j = 1; j <= 2 * ((m - 2 - 3) / 4 + 1); j++)

     {
         System.out.print(" ");
     }
     System.out.println("*");// 下面部分
     System.out.println("                             我喜欢你");
	}
}

结果展示:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/890819.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】堆的初始化——如何初始化一个大根堆?

文章目录 源码是如何插入的&#xff1f;扩容向上调整实现大根堆代码&#xff1a; 源码是如何插入的&#xff1f; 扩容 在扩容的时候&#xff0c;如果容量小于64&#xff0c;那就2倍多2的扩容&#xff1b;如果大于64&#xff0c;那就1.5倍扩容。 还会进行溢出的判断&#xff0c…

NPDP含金量高吗?难考吗?

一&#xff0c;什么是NPDP认证&#xff1f; NPDP认证中文名为产品经理国际资格认证&#xff0c;New Product Development Professional (NPDP) &#xff0c;是由美国 产品开发与管理协会 (PDMA) 所发起&#xff0c; 是国际公认的唯一的新产品开发专业认证&#xff0c;集理论、方…

论文及代码详解——可变形卷积(DCNv2)

文章目录 论文详解Stacking More Deformable Conv LayersModulated Deformable ModulesR-CNN Feature Mimicking 代码详解 DCNv2 是在DCNv1的基础上的改进版。 理解DCNv2之前&#xff0c;建议先读 《论文及代码详解——可变形卷积&#xff08;DCNv1&#xff09;》 论文详解 DC…

数据结构单链表

单链表 1 链表的概念及结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链 接次序实现的 。 在我们开始讲链表之前&#xff0c;我们是写了顺序表&#xff0c;顺序表就是类似一个数组的东西&#xff0…

651页23万字智慧教育大数据信息化顶层设计及建设方案WORD

导读&#xff1a;原文《651页23万字智慧教育大数据信息化顶层设计及建设方案WORD》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 目录 一、 方案背景 1.1 以教育…

三、数据类型

1、数值类型 &#xff08;1&#xff09;分类&#xff1a; &#xff08;2&#xff09;注意&#xff1a; 存储某一类数据&#xff0c;如果只想要表示整数&#xff0c;则在其后加unsigned即可&#xff1b; 在表示小数时&#xff0c;需要指明该小数的总长度和小数部分的长度&…

PostgreSQL空值的判断

PostgreSQL空值的判断 空值判断非空判断总结 空值判断 -- 查询为空的 is null,sql简写isnull select * from employees where manager_id isnull;select * from employees where manager_id is null;非空判断 -- 查询不为空的 is not null;sql简写notnull select * from empl…

c++基本语法

c基础语法 由于长时间没有使用过c&#xff0c;因此c的语法已经忘得差不多了&#xff0c;这篇文章主要是快读地过一遍c的基本语法。之前也写过一篇从c过渡到c的文章&#xff0c;有兴趣地可以看看。 文章链接 1.c的安装 mingw64的安装配置环境变量 2.语法 #include<iostre…

leetcode 力扣刷题 两数/三数/四数之和 哈希表和双指针解题

两数/三数/四数之和 题目合集 哈希表求解1. 两数之和454. 四数相加Ⅱ 双指针求解15.三数之和18. 四数之和 这个博客是关于&#xff1a;找出数组中几个元素&#xff0c;使其之和等于题意给出的target 这一类题目的&#xff0c;但是各个题之间又有些差异&#xff0c;使得需要用不…

网络及其计算的重点知识及回顾

概述 1.1 计算机网络的分类 按照网络的作用范围&#xff1a;广域网&#xff08;WAN&#xff09;、城域网&#xff08;MAN&#xff09;、局域网&#xff08;LAN&#xff09;&#xff1b; 按照网络使用者&#xff1a;公用网络、专用网络。 1.2 计算机网络的层次结构 应用层&a…

谷歌云平台替代超级计算机?助力心脏病学研究,省心智能还省钱

哈佛大学的研究团队在使用谷歌云平台代替超级计算机进行心脏病研究方面取得了重大突破。通常情况下&#xff0c;进行模拟人体循环系统中血块和肿瘤细胞的疗法需要强大的计算能力才能提供准确的结果。然而&#xff0c;超级计算机的高昂成本和有限的可用性成为这项研究面临的巨大…

Qt+Pyhton实现麒麟V10系统下word文档读写功能

目录 前言1.C调用python1.1 安装Python开发环境1.2 修改Qt工程配置1.3 初始化Python环境1.4 C 调用Python 函数1.5 常用的Python接口 2.python虚拟环境2.1Python虚拟环境简介2.2 virtualenv 安装及使用2.3 在C程序中配置virtualenv 虚拟环境 3.python-docx库的应用4.总结 前言 …

【计算机网络篇】UDP协议

✅作者简介&#xff1a;大家好&#xff0c;我是小杨 &#x1f4c3;个人主页&#xff1a;「小杨」的csdn博客 &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; UDP协议 1&#xff0c;UDP 简介 UDP&#xff08;User Datagram Protocol&#xff09;是一种无连…

集成DTM实现跨语言分布式事务V1.0

集成DTM实现跨语言分布式事务V1.0 简介 DTM是一款开源的分布式事务管理器&#xff0c;解决跨数据库、跨服务、跨语言栈更新数据的一致性问题。 通俗一点说&#xff0c;DTM提供跨服务事务能力&#xff0c;一组服务要么全部成功&#xff0c;要么全部回滚&#xff0c;避免只更新…

Qt编程基础 | 第六章-窗体 | 6.5、QTableWidget 使用过程注意的问题

一、QTableWidget 使用过程注意的问题 1、添加行时要先设置行数 往表格重添加行时&#xff0c;要先设置行数&#xff0c;不然添加的内容看不到&#xff0c;如下&#xff1a; void QCustomWidget::InitTableContent() {for (int row 0; row < m_rowData.size(); row ){// 注…

DAY4,ARM(用c语言点亮LED灯,封装库代码,软件编程控制硬件)

---gpio.h头文件--- #ifndef __LED_H__ #define __LED_H__//1RCC_MP_AHB4ENSETR寄存器封装 #define RCC_MP_AHB4ENSETR (*(volatile unsigned int*)0x50000a28)//2GPIO封装结构体 typedef struct {volatile unsigned int MODER;volatile unsigned int OTYPER;volatile unsigne…

Python系统学习1-9-类二之MVC框架

一、模型说明 View视图:处理界面逻辑,输入输出 Controller控制器:处理核心逻辑,存储计算 Model模型:将多个变量组合为一种类型 二、注意事项 类外通过自定义对象名调用 类中通过self调用 """疫情信息管理系统学习MVC的软件架构View Controller Model视…

汇川脉冲伺服SV630P常用参数设置(博途PLC脉冲输出控制)

有关博途PLC脉冲输出控制功能块详细介绍,请查看下面博客链接: 博途1200PLC轴控功能块(脉冲轴)_博图 轴控块_RXXW_Dor的博客-CSDN博客STRUCT// 轴使能// 轴正向点动// 轴反向点动// 轴回原// 轴复位// 轴暂停// 轴快速停机// 轴绝对定位// 轴相对定位// 轴匀速运行// 修改轴参…

Dubbo基础学习

目录 第一章、概念介绍1.1&#xff09;什么是RPC框架1.2&#xff09;什么是分布式系统1.3&#xff09;Dubbo概述1.3&#xff09;Dubbo基本架构 第二章、服务提供者(直连)2.1&#xff09;目录结构和依赖2.2&#xff09;model层2.3&#xff09;service层2.4&#xff09;resources…