Java 空心金字塔 + 空心菱形

Java 入门之9:嵌套循环的使用:实现的几个简单的算法题。打印字母金字塔,空心菱形,求任意范围的质数等 …… private static void printLetterPyramid(int pySize) { // 用给定的金字塔的大小 得到 打印字母之前的间距 int space = (pySize / 2 - pySize / 4) + pySize; // 声明 4个变量 int i, j, k, l; // 1号 外循环控制字母金字塔的行数! for (i = 1; i <= pySize; i++) …… 阅读详情

Java 空心金字塔 + 空心菱形

推荐: 【零基础 快速学Java】韩顺平 零基础30天学会Java.

空心金字塔

思路:化繁为简

  1. 打印矩形
  2. 三角形
  3. 空格+三角形
  4. 空心金字塔

1. 打印矩形

        int row = 5;

        for (int i = 1; i <= row; i++) {

            System.out.println("*****");
        }

效果:

*****
*****
*****
*****
*****

2. 三角形

        int row = 5;
        
        for (int i = 1; i <= row; i++) {

            // 2. 三角形
            for (int j = 1 ; j <= i; j++) {
                    System.out.print("*");
            }
            // 每打印i个*就换行
            System.out.println();
        }

效果:

   *
   **
   ***
   ****
   *****

3. 空格+三角形

        int row = 5;
        
        for (int i = 1; i <= row; i++) {

            // 3. 空格
            for (int k = row - i; k >= 1 ; k--) {
                System.out.print(" ");
            }

            // 2. 三角形
            for (int j = 1 ; j <= 2 * i - 1; j++) {
                    System.out.print("*");
            }
            System.out.println();
        }

效果:

    *
   ***
  *****
 *******
*********

4. 空心金字塔

        int row = 5;

        for (int i = 1; i <= row; i++) {

            // 3. 空格+三角形
            for (int k = row - i; k >= 1 ; k--) {
                System.out.print(" ");
            }

            // 2. 三角形
            for (int j = 1 ; j <= 2 * i - 1; j++) {
                if (j == 1 || j == (2 * i - 1) || i == row){
                    System.out.print("*");
                }else {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }

效果:

    *
   * *
  *   *
 *     *
*********

菱形

思路:效果上相当于把上面的空心金字塔复制后反转就可以,也就是说空心菱形可以分为上下两部分

1. 上半部分

  1. 把空心金字塔最后一行中间的"*"替换成空格
        int row = 5;

        for (int i = 1; i <= row; i++) {

            // 3. 空格+三角形
            for (int k = row - i; k >= 1 ; k--) {
                System.out.print(" ");
            }

            // 2. 三角形
            for (int j = 1 ; j <= 2 * i - 1; j++) {
                if (j == 1 || j == (2 * i - 1) ){
                    System.out.print("*");
                }else {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }

效果:

    *
   * *
  *   *
 *     *
*       *

2. 下半部分

思路:把上半部分的第一行作为最后一行输出,以此类推,上半部分的最后一行为下半部分的第一行,但是这样就不是不是一个菱形的效果了,所以下半部分的总行数要比下半部分少一行,即上半部分的倒数第二行为下半部分的第一行

  1. 将上半部分反转
        for (int i = 1; i <= row - 1 ; i++) {

            // 3. 空格+倒三角形
            for (int k = i; k >= 1 ; k--) {
                System.out.print(" ");
            }

            // 2. 倒三角形
            for (int j = 2 * (row - i) - 1 ; j >= 1; j--) {
                if (j == 2 * (row - i) - 1 || j == 1){
                    System.out.print("*");
                }else {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }

效果:

 *     *
  *   *
   * *
    *

程序按顺序执行
合并后为:

        int row = 5;

        for (int i = 1; i <= row; i++) {

            // 3. 空格+三角形
            for (int k = row - i; k >= 1 ; k--) {
                System.out.print(" ");
            }

            // 2. 三角形
            for (int j = 1 ; j <= 2 * i - 1; j++) {
                if (j == 1 || j == (2 * i - 1) ){
                    System.out.print("*");
                }else {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }

        for (int i = 1; i <= row - 1 ; i++) {

            // 4. 空格+三角形
            for (int k = i; k >= 1 ; k--) {
                System.out.print(" ");
            }

            // 3. 倒三角形
            for (int j = 2 * (row - i) - 1 ; j >= 1; j--) {
                if (j == 2 * (row - i) - 1 || j == 1){
                    System.out.print("*");
                }else {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
    

效果:

    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *
24、虚拟地理信息系统:技术与应用的全面解析 本文全面解析了虚拟地理信息系统(虚拟GIS)的技术架构与应用前景。文章从地理空间数据的增长出发,探讨了虚拟GIS在地形、建筑、天气等多维度数据的交互式可视化技术,重点介绍了全球层次结构、多分辨率模型、缓存分页机制及交互导航方法。系统已应用于天气分析、城市规划、应急响应等领域,并展望了未来在数据处理、模拟操作、移动可视化及智能城市、文化遗产保护等方向的发展路径与技术挑战。 阅读详情

相关推荐

基于遗传算法的柔性作业车间调度(初始化以及编码策略)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

菜鸡 8594

JAVA基础——控制结构(韩顺平P104-P154)

程序运行的流程控制决定程序是如何执行的。

m0_56574247的博客 1036

Ollama-OCR实战:5分钟搞定PDF文档转Markdown(附qwen2.5vl模型配置)

本文详细介绍了如何利用Ollama本地部署多模态大模型qwen2.5vl,结合OCR技术,实现PDF文档到Markdown的端到端智能转换。通过解析传统OCR的局限与AI方案的优势,并提供从环境搭建、提示词工程到处理复杂表格的完整实战指南,帮助用户高效构建自动化文档处理流水线,彻底重塑文档处理工作流。

yog99的博客 604

【韩顺平Go核心编程】练习题(二)

import ("fmt"fmt.Println("成绩优秀")fmt.Println("成绩优良")fmt.Println("成绩及格")default:fmt.Println("不及格")

qq_42638506的博客 824

【100%通过率】华为OD机试真题 C 实现【最多等和不相交连续子序列】【2022.11 Q4 新题】

给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。求一组连续子序列,组内子序列的数目最多。输出这个数目。

MISAYAONE的博客 1万+

基于matlab目标雷达横截面建模(附源码)

雷达系统依靠目标反射或散射来检测和识别目标。目标反射越强,雷达接收器返回的回波就越大,从而获得更高的信噪比(SNR)和更高的检测可能性。在雷达系统中,从目标反射的能量由雷达横截面(RCS)决定,定义为sigma代表RCS,R是雷达与目标之间的距离,Es是从目标反射的信号的场强,以及Ei是入射到目标上的信号的场强。通常,目标向各个方向散射能量,RCS是入射角,散射角和信号频率的函数。RCS 取决于目标的形状和构建目标的材料。用于RCS的常用单位包括平方米或dBsm。

珞瑜的博客 3083

韩顺平空心金字塔

Java基础之打印金字塔

m0_51040577的博客 164

基于matlab的图像HOG特征提取算法仿真

方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 730

韩顺平Java基础作业——空心金字塔和空心菱形打印:

韩顺平Java基础作业——空心金字塔和空心菱形打印:

weixin_56342726的博客 371

[计算机头歌]爬虫进阶

【代码】爬虫进阶。

M_inherit的博客 921

【35】软考软件设计师——设计模式代码填空(C++版)满分精讲|第5/6题二选一必考

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第35篇,聚焦下午选做题**第5/6题C++版设计模式代码填空**,与上一篇Java版形成双子配套,单题分值稳定12~15分。全文超4000字深度拆解C++独有核心考点:虚函数/纯虚函数、构造与析构函数规范、继承权限、模板类编程在设计模式中的应用;精讲单例、工厂、策略、观察者、适配器五大高频模式的C++专属代码写法,标注所有填空核心点位、语法陷阱、内存安全规范

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 543

java 金字塔 空心金字塔 空心菱形 详解(通俗易懂)

分享以下用java如何打印出金字塔,空心金字塔和空心菱形,适合初学者思维锻炼,思路分析是重点。

优快云 / 稀土掘金/ B站 / GitHub: Cyan_RA9 3970

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java 打印半金字塔,金字塔,空心金字塔,空心菱形

java 打印半金字塔,金字塔,空心金字塔,空心菱形   /** *作者:huangbao *日期:2010-06-21 *功能:打印半金字塔,金字塔,空心金字塔,空心菱形 *描述:半金字塔,金字塔,空心金字塔,空心菱形 *其它:Pyramid,Layer */ import java.io.*; public class Pyramid { public static ...

hb0308513的博客 1571

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

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

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java金字塔、空心金字塔、空心菱形

Java金字塔、空心金字塔、空心菱形

weixin_47059164的博客 582

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java第二十五篇:打印实心菱形、空心菱形以及金字塔三角形

正在看这篇文章的你,肯定是个爱学习的人儿!奥利给! 最近有同学看了我写的Java第十三篇博文:打印九九乘法表,产生了这样的疑惑: 根据这篇文章,我可以打印实心菱形和空心菱形吗? 答案:肯定能实现,我们一起来看看叭。 1.打印实心菱形 package study; /** * * @author 重工黑大帅 * @date 2020.2.5 * @see everyone * 实现功...

H_W_1212的博客 1880

【使用Java循环输出菱形,空心金字塔】

通过这篇博客,我们深入探讨了使用Java循环输出各种图形的方法。掌握这些基本技巧不仅能提升我们的编程能力,还能为后续更复杂的编程挑战打下坚实的基础。希望你们能在实践中继续探索和创造出更多有趣的图形!

Yhame的博客 623

Java 空心菱形、空心金字塔

下面我们用这个公式对程序进行优化。

执着源于热爱 173

java 金字塔样式输出_Java打印金字塔(正实心、正空心,倒实心、倒空心),菱形...

解题就干一件事:找j,k与i的关系(规律)*/public class PrintPyramid {public static void main(String[] args) {int n = 6;printPyramid(n); //打印实心金字塔System.out.println("---------------------------------------...

weixin_39763640的博客 403

Java实现正,倒空心金字塔和空心菱形

lazy。。。

m0_55712246的博客 452

韩顺平零基础30天学会Java笔记(三)——空心金字塔 | 空心菱形

两个多重循环的练习。

Chairflower的博客 257

Java和C关于空心金字塔和菱形的打印

空心金字塔和菱形的打印 一.C语言实现 打印9*9乘法表 int main() { int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) { int mul = i * j; printf("%d*%d=%d\t", j, i, mul); } printf("\n"); } getchar(); return 0; } 打印空心金字塔 int main() { int

m0_37775931的博客 328

Java重修笔记 第七天 九九乘法表、空心金字塔、空心菱形

【代码】Java重修笔记 第七天 九九乘法表、空心金字塔、空心菱形。

Code___slave的博客 302

空心菱形和数字金字塔打印

```java **使用java打印空心菱形和数字金字塔** package report; import java.util.Scanner; public class Test3 { /** * 空心菱形和数字金字塔打印 * * 分析:从简单到复杂,找规律 * * @param args */ public static void main(String...

最白の白菜的博客 1066

JAVA实现打印金字塔(菱形详解)

半个金字塔,一个金字塔,空心金字塔,菱形

好好学习,天天向上 1565

Java小程序:打印空心菱形

金字塔—>空心金字塔—>空心菱形

fang_lll的博客 1万+

嵌套for循环写空心金字塔和两种方法打印菱形

j

qq_53174492的博客 484
上一篇: Markdown学习
Cyh_Blog
博客等级 码龄9年 6粉丝 2原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值