Java基础 - 练习(二)打印菱形

news2024/11/24 18:48:12

Java基础练习

打印菱形,先上代码:

// 方法一:基础,好理解
public static void diamond() {
    //控制行数
    for (int i = 1; i <= 4; i++) {
        //空格的个数
        for (int k = 1; k <= 4 - i; k++) {
            System.out.print(" ");
        }
        //控制星星个数的时候和行有关
        for (int j = 1; j <= 2 * i - 1; j++) {
            System.out.print("*");
        }
        System.out.println();
    }
    //控制行数
    for (int i = 3; i >= 1; i--) {
        //空格的个数
        for (int k = 1; k <= 4 - i; k++) {
            System.out.print(" ");
        }
        //控制星星个数的时候和行有关
        for (int j = 1; j <= 2 * i - 1; j++) {
            System.out.print("*");
        }
        System.out.println();
    }
}

思路:

  1. 打印菱形可以将菱形看作两个等腰三角形,第一个正着放,第二个倒着放,两个等腰三角形共用同一条底边
  2. 先打印第一个正着放的等腰三角形,设置4行,使用for循环嵌套
  3. 再打印倒着放的等腰三角形,因为底边共用,所以此处打印时比正放的时候少一行,打印3行
效果图

在这里插入图片描述

------------------------------------------------分割线------------------------------------------------

// 方法二:简便
public static void diamond_1() {
    for (int i = -4; i < 4; i++) {
        for (int j = 0; j <= Math.abs(i); j++) {
            System.out.print(" ");
        }
        for (int j = 1; j <= 8 - (Math.abs(i) * 2 + 1); j++) {
            System.out.print("*");
        }
        System.out.println();
    }
}

此处使用了Math.abs(i)方法,用于取当前数i的绝对值

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

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

相关文章

【科研必备神器】人口迁徙大数据科研辅助利器安装使用教程

今天&#xff0c;给大家介绍一款用于对人口迁徙大数据进行分析的神器--人口迁徙数据解析器&#xff0c;可以获取对目标城市迁入、迁出的迁徙数据详情&#xff0c;如&#xff0c;排名前100名的迁徙来源地的迁徙时间、城市名、省份名及迁徙比例。下面&#xff0c;给大家介绍下这款…

Google推出开源代码大模型CodeGemma:AI编程新纪元,代码自动完成和生成技术再升级

论文标题: CodeGemma: Open Code Models Based on Gemma机构: Google LLC论文链接: https://arxiv.org/pdf/2406.11409.pdf CodeGemma模型概述 CodeGemma是基于Google DeepMind的Gemma模型系列&#xff08;Gemma Team et al., 2024&#xff09;开发的一系列开放代码模型。这些…

RK3588/算能/Nvidia智能盒子:加速山西铝业智能化转型,保障矿业皮带传输安全稳定运行

近年来&#xff0c;各类矿山事故频发&#xff0c;暴露出传统矿业各环节的诸多问题。随着全国重点产煤省份相继出台相关政策文件&#xff0c;矿业智能化建设进程加快。皮带传输系统升级是矿业智能化的一个重要环节&#xff0c;同时也是降本增效的一个重点方向。 △各省份智能矿山…

Linux中DNS搭建

文章目录 一、DNS介绍1.1、DNS是什么1.2、DNS的工作原理1.3、DNS的域名结构 二、Bind介绍2.1、bind概述2.2、bind主要配置文件 三、DNS安装四、主要配置文件解析&#xff08;除/etc/named.conf&#xff09;4.1、/etc/named.rfc1912.zones4.2、/etc/rc.d/init.d/named4.3、/etc/…

git idea分支cherry-pick

git idea分支cherry-pick cherry-pick请注意操作前更新代码&#xff01;&#xff01;&#xff01;操作步骤 cherry-pick cherry-pick 挑拣樱桃&#xff0c;对应在分支开发中就是把提交记录从A分支挑拣到B分支 请注意操作前更新代码&#xff01;&#xff01;&#xff01; 操作…

kettle从入门到精通 第七十一课 ETL之kettle 再谈http post,轻松掌握body中传递json参数

场景&#xff1a; kettle中http post步骤如何发送http请求且传递body参数&#xff1f; 解决方案&#xff1a; http post步骤中直接设置Request entity field字段即可。 1、手边没有现成的post接口&#xff0c;索性用python搭建一个简单的接口&#xff0c;关键代码如下&#…

JavaFX按钮

当用户单击按钮时&#xff0c;JavaFX Button类可以触发事件。Button类扩展了Labeled类&#xff0c;可以显示文本&#xff0c;图像或两者都可以。 以下代码显示了如何向Button添加单击操作侦听器。 import javafx.application.Application; import javafx.event.ActionEvent; im…

[14] CUDA_使用Opencv处理图像

CUDA_使用Opencv处理图像 1. Opencv中的图像表示 Opencv 提供了Mat 类来存储图像&#xff0c;如下&#xff1a; cv::Mat img; imgcv::imread("cameraman.tif);定义图像的示例&#xff1a; //定义单通道图像 cv::Mat img(6,6,CV_8UC1); //32位浮点型 Mat img2(256,256,…

异步爬虫:aiohttp 异步请求库使用:

使用requests 请求库虽然可以完成爬虫业务&#xff0c;但是对于异步任务来说&#xff0c;它是做不到的&#xff0c; 这时候我们需要借助 aiohttp 异步请求库来完成异步爬虫的编写&#xff1a; 话不多说&#xff0c;直接看示例&#xff1a; 注意&#xff1a;楼主使用的python版…

MyBatis逆向工程和MyBatisX插件的使用

文章目录 1.ORM思维2.逆向工程3.MyBatisX插件的使用 1.ORM思维 ORM&#xff08;Object-Relational Mapping&#xff0c;对象-关系映射&#xff09;是一种将数据库和面向对象编程语言中的对象之间进行转换的技术。它将对象和关系数据库的概念进行映射&#xff0c;最后我们就可以…

同三维T80006EH单路高清HDMI编码器

同三维T80006EH单路高清HDMI编码器 1路HDMI输入&#xff0c;1路3.5音频输入和输出&#xff0c;支持高清1080P60&#xff0c;支持SD卡录制 支持可解1路网络音频流输出&#xff0c;双向互动 一、产品简介&#xff1a; T80006EH高清编码器&#xff08;采集盒&#xff09;是一款…

【Linux】环境设置MySQL表名忽略大小写

目录 说明 一、摘要 二、查看服务器上MySQL情况 方式一&#xff1a;通过Linux方式 方式二&#xff1a;借助可视化工具&#xff08;Navicat&#xff09; 三、MySQL设置忽略表名大小写的参数&#xff08;lower_case_table_names&#xff09; 四、网上解决方案 方法一&…

卫士通电科网安安全IpSec网关Ukey开发对接

官方公开的开发文档,有几个坑,着重说一下踩坑的记录过程。 1、通过官方的客户端接口模拟程序获取前端参数:随机数和token 2、java程序调用官方sdk,postman请求测试: 3、贴出关键的java集成类: import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; impor…

玄机平台流量特征分析-常见攻击事

前言 熟悉常见的攻击流量特征&#xff0c;我们就可以通过主机的一个流量情况来判断主机遭受了何种攻击。这里来看看玄机平台的一道题目。 步骤1.1 这里需要我们找出恶意扫描者&#xff0c;也就是黑客的ip。下载好附件之后用wiresharke打开&#xff0c;直接筛选http协议的流量…

多路h265监控录放开发-(1)建立head窗口并实现鼠标拖动整个窗口

头文件&#xff1a; //鼠标事件 用于拖动窗口//一下三个函数都是QWidget的可重载成员函数void mouseMoveEvent(QMouseEvent* ev) override;void mousePressEvent(QMouseEvent* ev) override;void mouseReleaseEvent(QMouseEvent* ev) override; 源文件&#xff1a; / /// 鼠标…

Linux---系统的初步学习【 项目三 磁盘管理与文件系统】

项目三 磁盘管理与文件系统 3.1 项目知识准备 3.1.1 硬盘 ​ 如果从存储数据的介质上来区分&#xff0c;硬盘可分为机械硬盘&#xff08;Hard Disk Dirve&#xff0c;HHD&#xff09;和固态硬盘&#xff08;Solid State Disk&#xff0c;SSD&#xff09;&#xff0c;机械硬盘…

用户需求分析揭秘:最佳实践与策略

大多数产品团队都有自己处理客户需求的一套流程。但是那些潜在的客户和他们的需求呢&#xff1f;如果在产品管理上已经有一定的资历&#xff0c;很可能对此见惯不怪了。 通常&#xff0c;这些需求是销售人员跑来告诉你的&#xff0c;大概就是说&#xff1a;“超棒的潜在客户一…

Datakit管理openGauss6.0集群,监控运维超方便

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…

手写精简版TinyHttpd项目(一)

前言&#xff1a; 我们在之前的TinyHttpd的精读(可以在首页去查看)中已经是基本的了解了显示一个网页的基本过程&#xff0c;那么我们学习后可以通过手写一个精简版的进行巩固下。 0.新工程的建立 我们也可以顺带复习下如何通过cmake在ubuntu下新建一个工程(记得提前下载cmake…

安装,管理程序

文章目录 Linuxd应用程序基础应用程序与系统命令的关系 典型应用程序目录常见的软件包装类型 rpm软件包管理工具RPM软件包rpm命令格式查询rpm软件包信息查询已安装的查询未安装的 安装或升级rpm软件卸载指定rpm软件辅助选项 维护RPM数据库解决软件包依赖关系方法 源代码编译安装…