Java控制台打印爱心算法(今典算法案例)

要求:利用java语言编写算法在控制台打印爱心算法(根据输入参数的大小决定爱心的大小);

先给大家看看运行的结果吧

输入6

输入8

输入10

相信大家在学习算法的时候都有过这个想法,做一个爱心,以为只有这样子我们程序猿才能找到女盆友,获得女盆友的芳心。

可能大家会觉得比较难,根据这个爱心的形状不知道怎么分析,任何事物只要你仔细的分析都是有规律可巡的,最底层的算法就是找规律(相信大家小时候没少找规律吧!),来今天我来教大家用最sb的方法写这个爱心,希望我也能因此找到那个她

思路:

其实这个爱心就是三个三角形,上面两个(少了一个顶),下面一个(倒立),就完了

还有就是要根据输入的参数找到打印 “ * ” 的规律:

假如我们输入的参数的k

最上面两个三角形的底部为k-2个星号,最下面的倒立三角形的底部为(2*k)-1个星号

最主要的是上面两个三角形少一个顶

最后直接贴代码,代码非常简单大家都看得懂

public static void main(String[] args) {System.out.println("请输入一个的按预定偶数:");Scanner sc = new Scanner(System.in);int a = sc.nextInt();if (a > 2 && a % 2 == 0) {aixing(a);} else {System.out.println("输入的数据不正确请重新输入!");}}public static void aixing(int ai) {int Q = ai / 2 - 1; // 确定上面部分的行数int W = ai - 2; // 确定上面部分底部的星号个数// 循环得到上面部分for (int i = 1; i <= Q; i++) {// 得到第一个空格三角形for (int a = Q; a > i - 1; a--) {System.out.print(" ");System.out.print(" ");}// 得到第一个突出的三角形for (int b = 1; b < i + 1; b++) {System.out.print("*");System.out.print(" ");}for (int d = 1; d < i + 1; d++) {System.out.print("*");System.out.print(" ");}// 得到中间的空格三角形for (int r = Q; r >= i + 1; r--) {System.out.print(" ");System.out.print(" ");}for (int t = Q + 1; t >= i + 1; t--) {System.out.print(" ");System.out.print(" ");}// 得到后面的突出三角形for (int b = 1; b < i + 1; b++) {System.out.print("*");System.out.print(" ");}for (int d = 1; d < i + 1; d++) {System.out.print("*");System.out.print(" ");}System.out.println();}// 下面部分for (int w = 1; w <= ai; w++) {for (int e = 1; e < w; e++) {System.out.print(" ");System.out.print(" ");}for (int r = ai; r >= w; r--) {System.out.print("*");System.out.print(" ");}for (int t = ai; t > w; t--) {System.out.print("*");System.out.print(" ");}System.out.println();}}

大家按照我这个方法写出来的代码运行会发现一个点:

那就是只能在控制台输入偶数,因为这个规律我是按照偶数的思路去想的,大家可以尝试其他的思路

我这个方法是最繁琐的办法,还有很多简单的方法,最主要的循环次数多了,代码效率会减低!我这里不提供另外的一种简便方法了,大家可以自己思考(其实也就是这个思路,只不过循环次数减少了很多)

最后希望大家都能找到女盆友!!!

的方法,最主要的循环次数多了,代码效率会减低!我这里不提供另外的一种简便方法了,大家可以自己思考(其实也就是这个思路,只不过循环次数减少了很多)

最后希望大家都能找到女盆友!!!

Java控制台打印爱心算法(今典算法案例)相关推荐

  1. Java控制台打印样式diy

    java 控制台打印样式diy 目前只在idea测试 没有在cmd eclipse等其他地方测试. System.out.print("\033[ ( 这里填样式数字 )m"+ms ...

  2. java控制台打印乱码_java控制台输出出现乱码怎么解决

    java控制台输出出现乱码怎么解决 发布时间:2020-06-24 10:37:14 来源:亿速云 阅读:82 作者:Leah java控制台输出出现乱码怎么解决?相信很多没有经验的人对此束手无策,为 ...

  3. java控制台打印图片_java——控制台输入打印图形

    1. 打印直角三角形 需求说明:从控制台输入直角三角形的高度(行数).每行*的数目依次为1.3.5.7等 . 实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件 分析每行打印的内容: 每一 ...

  4. 使用Java语言打印爱心

    好的.在 Java 中要打印出爱心,你可以使用 Unicode 字符,其中 U+2764 是爱心的 Unicode 代码点.你可以这样写代码: System.out.println("\u2 ...

  5. 算法-4-经典算法-汇总(持续更新)-目录呈现

    经典算法主要是一些递归.分治.动归.回溯.贪心等算法,面试笔试要求高. 以下为超链接,点击即可 算法-Q-[第4章]-经典-[V]-思想-分治-递归.分治.动态规划.回溯=============== ...

  6. java控制台打印表格

    1.工具类,目前暂不支持中文 package com.base;import org.apache.commons.lang.StringUtils; import java.util.HashMap ...

  7. java控制台打印各种图形

    package hello;public class Demo {public static void main(String[] args) {// 打印方for (int i = 0; i < ...

  8. java中打印靠左三角形,java控制台打印三角形区域

    public class Triangle { public static void main(String[] args) { a(); //打印正等腰三角 b(); //打印倒等腰三角 c(); ...

  9. 用Java语言实现文本内容对比的算法和程序

    前言 近日,笔者在接到一项需求,就是用程序将两个文本的内容以行为单位进行比对,找出其中差异的部分进行展示,以便能够一眼看出修改人对文件做出了哪些修改. 刚接到这项需求时,感到颇有难度,但是经过深入思考 ...

最新文章

  1. 照葫芦画瓢-class(类)
  2. 实战SSM_O2O商铺_28【商品】商品添加之Dao层的实现
  3. python从视频中提取音频_提取视频中的音频——python三行程序搞定!
  4. Party Lamps chapter 2.2
  5. 水文勘测工比赛计算机基本应用,第四届全国水文勘测工大赛内业操作试题A卷.doc...
  6. Python 处理前端反调试(无限debugger)
  7. 1个平方大概多少立杆_1斤草坪种子播撒多少平方/四季青
  8. 常用概率分布及其数学期望和方差
  9. DAS、NAS、SAN三种存储架构比较
  10. python闲鱼监控_推荐一个可玩的爬虫开源项目-闲鱼部分我已经测试过
  11. XML配置文件的读取
  12. 怎么保存python文件_pycharm怎么保存py文件
  13. 加密解密在区块链中的应用
  14. linux CST与EDT时区互转
  15. 小程序--计算器demo
  16. 导师为了让大弟子毕业,不得已自写论文...
  17. H5加速、WebView加速、Hybrid 常见方案对比
  18. codeforces703B
  19. Problem:博览购票
  20. java 内存检测工具

热门文章

  1. android菜单键 r9,【报Bug】android oppoR9tm 使用subnvue导航栏初始化时 导航栏阴影闪烁...
  2. tft注册最后验证图片_英雄联盟手游自走棋下载安装教程:三分钟教学注册下载云顶之弈正版手游...
  3. [ue5]关卡设计与地编_材质
  4. Windows在S模式下安装非应用商店软件(绕过S模式)
  5. 做wish需要会PHP吗,Wish用户下单后会发生什么?
  6. 毕节计算机职高学校,毕节职高学校_贵州省贵阳市中山科技学校
  7. 一个简单倒计时的封装
  8. android盲人模式功能,华为P9盲人模式功能介绍 华为P9手机 talkback使用图文教程...
  9. ios 输入法扩展_使用第三方 iOS 输入法前你应该知道什么?
  10. C#上传阿里云OSS工具类AliOSSTool