用Java代码完成菱形+数字的效果

29 篇文章 0 订阅
订阅专栏

之前写代码是直接看到题目就打开软件然后边想边写,但是这样很容易出现思维卡顿,所以这里编写的菱形+数字会采用先盘逻辑后盘代码的顺序。

最后实现的效果图:

 这个效果说难也不难,但说简单也不简单,最重要的是思维逻辑得跟上,下面来盘盘逻辑吧~~

逻辑步骤:

1、分区

        给图片分区,大概分为上部分(橙色)和下部分(蓝色),并且各自再分为左边的数字(绿色)右边的数字(粉色)

 2、代码分为两个部分进行编写,上部分和下部分,先编写上部分中的for循环实现一个三角形的形状。

        上部分需要考虑:行数、空格数、左边数字、右边数字

        空格数是跟行数有关的,行数不同空格数也不同

        左右边数字也跟行数有关,行数不同数字个数也不同

        但是数字和空格数之间没有关系

        所以:行数的for循环需要包裹空格数和左右边数字,左右边数字和空格数并列

3、上部分-找关系

        第二步已经知道了四者之间的关联后就可以找出几者的关系了。

        

         行数:从1开始到总行数5结束

       空格数

总行数:5第1行空格数4
第2行空格数3
第3行空格数2
第4行空格数1
第5行空格数0

                      找到规律:空格数 是从( 总行数- 行数)开始到 >0 结束

        左边数字:

                      能直观的看到左边数字都是从1开始,所以for开头数字就是1

第1行结束数字1
第2行结束数字2
第3行        结束数字3

                      找到规律: 从 1开始 到 <=行数 结束 (可以观看上面的图)

        右边数字:

                      能直观的看到第一行右边是没有数字的,从第二行开始才有 ,且结束数字都是1   

总行数:5第1行开始数字0
第2行开始数字1
第3行开始数字2
第4行开始数字3
第5行开始数字4

                        找到规律:右边数字从  (行数-1)开始到  >0 结束

4、编写上部分的代码 

//        todo 上半部分
//        TODO 行数
//        line 为用户输入的总行数 ,i 为行数,k控制空格,j用于控制左边数字,a控制右边数字
        for (int i = 1; i <= line; i++) {
            //        todo  空格
            for (int k = line - i; k > 0; k--) {
                System.out.print(" ");
            }

            // 左边数字
            for (int j = 1; j <= i; j++) {
                System.out.print(j);
            }
            // 右边数字
            for (int a = i - 1; a > 0; a--) {
                System.out.print(k);
            }
            System.out.println("");


        }

 5、下部分--找关系

       下部分跟上部分一致,同样分为 行数、空格、左边数字、右边数字

        

         行数:可以从图中看出行数是1-4,但是直接写4后会直接写死,我们需要找出总行数和行数的关系,这里是 从 1 开始到  <=(总行数-1)结束

        空格数:

总行数:5第1行空格数1
第2行空格数2
第3行空格数3
第4行空格数4

                                找到规律:空格数从 行数开始 到 >0 结束

         左边数字

                                通过观察能够看出左边数字都是从1开始的,接下来分析结束

总行数:5第1行结束数字4
第2行结束数字3
第3行结束数字2
第4行结束数字1

                                找到规律:左边数字 从 1开始到 <=(总行数-行数)结束

        右边数字:

                        通过观察可以看到右侧结束数字都是1

总行数:5第1行开始数字3
第2行开始数字2
第3行开始数字1
第4行开始数字0

                        找到规律:右侧数字从 (总行数-行数-1)开始 到  >=1 结束

6、编写下部分的代码

//        todo 下半部分
//        TODO 行数
        for (int i = 1; i < line ; i++) {
            //        todo  空格
            for (int k = i; k > 0; k--) {
                System.out.print(" ");
            }

            // 左边数字
            for (int j = 1; j <= line - i; j++) {
                System.out.print(j);
            }
            // 右边数字
            for (int a = line - i-1; a >= 1; a--) {
                System.out.print(a);
            }
            System.out.println("");


        }

7、全部代码

import java.util.Scanner;

public class test13 {

//    TODO 菱形+数字

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入行数");
        int line = scanner.nextInt();
//        todo 上半部分
//        TODO 行数
        for (int i = 1; i <= line; i++) {
            //        todo  空格
            for (int k = line - i; k > 0; k--) {
                System.out.print(" ");
            }

            // 左边数字
            for (int j = 1; j <= i; j++) {
                System.out.print(j);
            }
            // 右边数字
            for (int j = i - 1; j > 0; j--) {
                System.out.print(j);
            }
            System.out.println("");


        }


//        todo 下半部分
//        TODO 行数
        for (int i = 1; i < line ; i++) {
            //        todo  空格
            for (int k = i; k > 0; k--) {
                System.out.print(" ");
            }

            // 左边数字
            for (int j = 1; j <= line - i; j++) {
                System.out.print(j);
            }
            // 右边数字
            for (int j = line - i-1; j >= 1; j--) {
                System.out.print(j);
            }
            System.out.println("");


        }
    }
}
Java循环嵌套,实现输出菱形图案
weixin_52496592的博客
12-31 3302
运用循环嵌套我们该如何生成一个菱形图案,和空菱形图案呢?
[Java基础] Java语言编写菱形,四行代码实现
沫洺的博客
07-29 797
利用StringUtils工具类,实现菱形
菱形图案(java)
weixin_65229471的博客
07-11 3613
下部分林型7直接把上部分的代码复制粘贴一份,修改一下参数,+=变成-=输出菱形的空格需要把握好(阔以用for循环)2.比较简洁,,应该是最新的方法。1.使用for循环进行输出菱形
Java循环练习输出菱形 代码演示
最新发布
m0_65419210的博客
07-11 87
代码Java循环练习输出菱形 代码演示。
java:空心菱形的实现
Chu_wenchen的博客
05-13 808
public class moreFor04{ public static void main(String[] agrs){ int level = 5; // 行数,必须要为奇数 int i = 1; int n = 0; // 每行的空格数 for(i=1; i<=level/2+1;i++){ // 前三行 for(n=1;n<=(5-(2*i-1))/2;n++){ System.out.print(" "); // 每行打印.
使用java打印菱形教学
01-20
第一步:首先对图像进行解析 想要打印如图所示的形状经过简单分析之后可得出想要打印该图形必须要进行多层循环嵌套分...如上图所示列出数字对应关系分析其中的联系的到如下代码。 class ForForTest { public static v
Java开发技术大全(500个源代码).
12-02
useArray1.java 用反射机制使用数组示例1 useArray2.java 用反射机制使用数组示例2 第10章 示例描述:本章学习泛型。 demoBounds.java 演示有界类型 demoForceChange.java 演示强制类型转换 demoGeneric.java ...
JAVA算法训练题目.pdf
10-04
该问题可以使用 JAVA 的循环语句和条件语句来解决。我们可以使用一个三层循环来枚举所有可能的公鸡、母鸡和鸡仔的组合,并计算每种组合下的总金额,如果总金额等于 100 元,则输出该组合。 JAVA 代码示例: ```java...
Java经典编程源码基础例程300.zip
04-25
实例028 使用for循环输出空心的菱形 38 实例029 终止循环体 39 实例030 循环体的过滤器 41 第5章 数组及其常用操作 43 实例031 获取一维数组的最小值 44 实例032 将二维数组中的行列互换 45 实例033 利用数组随机...
蓝桥杯 2015省赛 Java语言 大学A组 真题.doc
09-30
首先,我们可以使用逻辑推理来找到可能的数字 A,然后使用代数来验证这些数字是否满足条件。 4. 代码填空 (满分 11 分):循环节长度问题 知识点:Java编程、循环节、数组操作 在这个问题中,我们需要填写缺少的...
JAVA语言实现菱形的编写
04-10
JAVA实现菱形的编写。JAVA\菱形编写。用Java实现*编写菱形
JAVA代码——输出菱形
03-14
一段java代码,实现用for循环输出一个菱形图形显示
SDUT——打印数字图形
丙三醇
03-19 2199
原题: 题目描述 从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。 输入 正整数n(1≤n≤9)。 输出 指定数字图形。 示例输入 5 示例输出 1 121 12321 1234321 123454321 1234321 12321 121 1   原码: #include int main() {
Java用*号在控制台输出三角形与菱形
qq_70576642的博客
07-11 6329
Java使用*号如何在控制台输出三角形和菱形
Java打印菱形(一)
麋鹿不知归途
05-09 1056
Java实心菱形的打印
利用Java输出一个菱形
qq_45423432的博客
07-20 3983
首先如图所示,输出结果是一个实心菱形,由“”填充。 直观来看,图像由“”组成,但在实现的过程中,每行“”前面的空格数量决定了“”所处的位置;根据菱形这个特殊的图形可以看出,每行前面的空格数量先递减后递增,“*”的数量先递增后递减,所以可以分上下两部分来实现;根据观察很容易发现其中的规律,利用循环语句可以实现得到结果,代码如下: public class Demo02 { public stati...
Java基础【之】输出一个菱形(详解)
热门推荐
WangYongJi
10-31 1万+
public class Demo { /* 注意:编程时不可以使用汉语和拼音,要用英文单词或者英文单词缩写 如图,想要输出一个菱形: 第1行 * 第2行 *** 第3行 ***** 第4行 ******* .
java怎么做棱形_如何用JAVA画一个菱形
weixin_36208265的博客
02-26 1767
如何用JAVA画一个菱形关注:166答案:3mip版解决时间 2021-01-30 10:31提问者街衶輓風2021-01-29 11:59如何用JAVA画一个菱形最佳答案二级知识专家反正我最可爱2021-01-29 12:47java 输出菱形代码:package demo;public class Demo01 {public static void main(String[] arg...
使用Java代码,用二维数组打印菱形
03-31
以下是使用Java代码,用二维数组打印菱形的示例: ```java public class DiamondArray { public static void main(String[] args) { int size = 7; // 菱形大小,必须是奇数 char[][] diamond = new char[size]...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 怎么克隆别人在GitHub上的代码到自己的电脑上 8279
  • axios-前后端数据交互流程 5582
  • json.decoder.JSONDecodeError:Expecting value :line 1 column 1 5295
  • Java-如何在数组中存放多个对象 4812
  • Mybatis-多表联查 4380

分类专栏

  • vue 2篇
  • Java 29篇
  • Mybatis 1篇
  • JavaWeb 6篇
  • Git 4篇
  • axios 1篇
  • 前端 2篇
  • JDBC 3篇
  • mysql 1篇
  • 阿里百秀界面设计 1篇
  • 白盒测试 1篇
  • 软件测试 2篇
  • 期末总结 2篇
  • 黑盒测试 1篇

最新评论

  • 怎么克隆别人在GitHub上的代码到自己的电脑上

    技术小白在努力: 对,先下载git bash建立连接

  • HTML+Css 简易淘宝界面

    糊涂涂是个小盆友: 看看置顶 能不能进去哦表情包

  • 怎么克隆别人在GitHub上的代码到自己的电脑上

    尧心: 是不是要先建立vscode和github的连接啊,我提示错误

  • HTML+Css 简易淘宝界面

    游云523: 姐姐可以给一下淘宝首页和登录代码吗

  • json.decoder.JSONDecodeError:Expecting value :line 1 column 1

    J.Sanchez: 只改了一下链接啊

大家在看

  • 蓝易云 - 网站云服务器费用对比,哪家云服务商性价比更高?

最新文章

  • Java-定时任务
  • java-调用阿里身份证验证接口
  • Java-Springboot整合支付宝接口
2023年7篇
2022年51篇
2021年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

聚圣源余姓男孩起名有内涵固定资产投资爱车起名混为一谈商标起那些名字宝宝免费起人名网站公司起名笔画数吉凶表宝宝起什么名字秦九昭技术团队起名化工公司起名字宝宝起名米字偏旁大全起名好的网站大纨绔给郑姓女宝宝起名黄姓男孩取起名大全霸气一点的楼梯间设计漂亮的他不说话姓覃起名字2020帕格尼尼方舟生存进化起源mod名字青龙偃月刀电影古林公园专门卖饼的店起什么名字好起名带睿字通讯有限公司起名字免费起名称网站鼠年男孩起甚么名字国发股份东莞女宝宝起名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化