使用 Java 打印菱形

2023-12-13

我想在 Eclipse 的输出控制台上打印网格形状。

Example Diamond Shapes

基本上,我从用户那里获取了一个整数,它是网格单个边框中的星星数量。

这是我到目前为止的代码:

public class PrintDiamond {
    public static void main(String[] args) {
        System.out.print("Enter the number: ");
        Scanner scan = new Scanner(System.in);
        int num = scan.nextInt();
        num--;
        for (int i = num; i > 0; --i) {
            //Insert spaces in order to center the diamond
            for (int n = 0; n < i; ++n) {
                System.out.print("  ");
            }
            System.out.print(" *");
            for (int n = i; n < num; ++n) {
                System.out.print(" + ");
                System.out.print(" ");
            }//Ending bracket of nested for-loop
            System.out.println();
        }//Ending bracket of for loop
        //Print out a diamond shape based on user input
        for (int i = 0; i <= num; ++i) {//<= to print the last asterisk
            //Insert spaces in order to center the diamond
            for (int n = 0; n < i; ++n) {
                System.out.print("  ");
            }
            System.out.print(" *");
            for (int n = i; n < num; ++n) {
                System.out.print(" + ");
                System.out.print(" ");
            }//Ending bracket of nested for-loop
            System.out.println();
        }//Ending bracket of for loop
    }
}

输出为(对于 int.6):

           *
         * +  
       * +   +  
     * +   +   +  
   * +   +   +   +  
 * +   +   +   +   +  
   * +   +   +   +  
     * +   +   +  
       * +   +  
         * +  
           *

这是代码:

public static void main(String[] args) {
    System.out.print("Enter the number: ");
    Scanner scan = new Scanner(System.in);
    int num = scan.nextInt();
    final char[][] diamond = makeDiamond(num);
    for (int i = 0; i < diamond.length; i++) {
        for (int j = 0; j < diamond[i].length; j++) {
            System.out.print(diamond[i][j]);
        }
        System.out.println();
    }
}

public static char[][] makeDiamond(int n) {
    int width = 1 + 4 * (n - 1);
    int height = 1 + 2 * (n - 1);
    char[][] out = new char[height][width];
    int x0 = 2 * (n - 1);
    int y0 = n - 1;
    for (int i = 0; i < width; i += 2) {
        // Top borders
        int y1 = Math.abs(y0 - i / 2);
        out[y1][i] = '*';

        // Bottom borders
        int y2 = height - Math.abs(i / 2 - y0) - 1;
        out[y2][i] = '*';

        if ((x0 - i) % 4 == 0) {
            // Plus signs
            for (int j = y1 + 1; j < y2; j++) {
                out[j][i] = '+';
            }
        }
    }
    return out;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Java 打印菱形 的相关文章

  • 在 MongoDB Java 驱动程序中如何使用 $filter

    我有一个适用于 MQL 的查询 我需要将其翻译成Java MQL 中的查询如下所示 db
  • java替代Thread.stop()来中断特定调用

    我正在寻找一种方法来告诉这个调用 大约需要 20 120 秒 final Area image final AffineTransform transform new AffineTransform transform scale imag
  • 按下按钮时清除编辑文本焦点并隐藏键盘

    我正在制作一个带有编辑文本和按钮的应用程序 当我在 edittext 中输入内容然后单击按钮时 我希望键盘和焦点在 edittext 上消失 但我似乎无法做到这一点 我在 XML 中插入了这两行代码 android focusable tr
  • 使用 java 的 RAR 档案 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Java byte[] 与 String 之间的转换

    为什么这个junit测试失败了 import org junit Assert import org junit Test import java io UnsupportedEncodingException public class T
  • 我需要显式关闭连接吗?

    我持有一个实例MongoClient and DB在我的应用程序中 每次我想执行某些操作时 我都会调用getCollection 我想知道是否需要显式关闭连接 就像connection close 在 JDBC 中 强调一下 我只有一个Mo
  • ASM之前看一下maxStack指令吗?

    我正在尝试使用 ASM 库将字节代码转换为不同的格式 这可以使用 MethodVisitor 来完成 就像这个简单的测试代码一样 return new MethodVisitor ASM7 Override public void visi
  • MongoDB:尝试从 JSON 读取 Long 导致 java.lang.Integer 无法转换为 java.lang.Long

    我有一个代码可以从 MongoDB 读取特定格式的数据 我需要测试一下 为此 我使用要测试的数据创建一个 JSON id ObjectId 57552e32e4b0839ede67e0af serial 574000690 startDat
  • Java 套接字:可以从一个线程发送并在另一个线程上接收吗?

    这可能是一个非常基本的问题 但我很难找到答案 让一个线程写入 Socket 的输出流 而另一个线程从 Socket 的输入流读取数据 这样可以吗 编辑 这是一个与外部服务器通信的客户端应用程序 我并不是想让两个线程互相交谈 很抱歉含糊不清
  • perl 和 java 正则表达式功能之间有什么区别?

    perl 和 java 在支持哪些正则表达式术语方面有什么区别 这个问题仅涉及正则表达式 并且特别排除了how可以使用正则表达式 即使用正则表达式的可用函数 方法 以及语言之间的语法差异 例如java要求转义反斜杠等 特别令人感兴趣的是 j
  • activemq 的优先级

    我们目前正在使用 JMS 和 activemq 5 5 1 开发一个应用程序 我们想为某些消息定义更高的优先级 这将使它们首先被消耗 设置生产者和消费者后 通过spring 3 1 JMSTemplate 优先级并不能完全发挥作用 事实上
  • 使用 include 进行 JAXB 剧集编译不起作用

    我有 2 个模式 A B 我在 B 中重用了一些 A 元素 我不使用命名空间 我在用着
  • wsdl 没有服务元素

    我必须使用 WCF Web 服务并获得 WSDL 外部的 因此无法控制 WSDL 在 WSDL 定义中 我没有找到包含服务 端口和地址元素的服务元素 WSDL 中不存在这种情况正常吗 这对于 WCF WSDL 来说很常见吗 我正在尝试使用轴
  • 计算移动的球与移动的线/多边形碰撞的时间(2D)

    我有一个多边形 里面有一个移动的球 如果球撞到边界 它应该反弹回来 My current solution I split the polygon in lines and calculate when the ball hits the
  • 如何告诉 IntelliJ 使用 Java 1.6 JDK 启动 gradle?

    一个简单的问题 即使经过几个小时的尝试和搜索 我也无法弄清楚 我安装了 Java 6 和 7 如何告诉 IntelliJ 使用 JDK 版本 1 6 启动 Gradle 构建 无论我做什么 IntelliJ 都会以以下方式开始我的 grad
  • Apache Kafka 是否提供异步订阅回调 API?

    我的项目正在将 Apache Kafka 视为老化的基于 JMS 的消息传递方法的潜在替代品 为了让这个过渡尽可能的顺利 如果替代的排队系统 Kafka 有一个异步订阅机制那就更理想了 类似于我们当前项目使用的JMS机制MessageLis
  • Microsoft JDBC 中的 JTDS 属性相当于什么?

    我正在将 JTDS 连接更改为 Microsoft JDBC 并且我看到存在于http jtds sourceforge net faq html http jtds sourceforge net faq htmlMicrosoft JD
  • 如何修改生成的SOAP请求?

    我正处于创建输出拦截器并从 SOAP 消息中获取 OuputStream 的阶段 但是 如何在将 SOAP 信封发送到端点之前对其进行修改呢 我想删除一些 xml 元素 一种方法是获取文档并通过 XSLT 转换运行它 您可以通过调用来获取拦
  • spring data jpa 过滤 @OneToMany 中的子项

    我有一个员工测试实体是父实体并且FunGroup信息子实体 这两个实体都是通过employeeId映射 我需要一种方法来过滤掉与搜索条件匹配的子实体 以便结果仅包含父实体和子实体 满足要求 员工测试类 Entity name Employe
  • 安卓框架?

    是否有任何框架比构建 Android 应用程序更容易 您会对其中一个感兴趣吗 很快就会有 我正在开发 DroidFu 一个 Android 共享库 它将为您提供 活动 和服务 中直接提供大量实用功能 例如生成列表和错误对话框 检查 Inte

随机推荐

  • 在闭包中使用“this”

    我只是好奇 我应该如何在 jQuery 函数中使用 this 例如 如果我有这样的代码 headEl find form blog search input focus function this next span animate opa
  • 在 python 中打开文件时,我不断收到“标识符中的无效字符”

    所以我尝试使用以下代码打开一个文件 open datapickle rb as f names F approximate pickle load f However I constantly get 我能做什么来解决这个问题 请帮忙 两个
  • SQL语法错误

    CREATE TABLE users id INT UNSIGNED NOT NULL AUTO INCREMENT type ENUM member admin NOT NULL username VARCHAR 30 NOT NULL
  • VTK 帧缓冲区和 OpenCV Mat 数据之间的转换

    我正在 VTK 中可视化数据 我想获取渲染窗口的帧缓冲区并在 OpenCV 应用程序中显示它 我目前正在尝试通过以下方式 void aig VirtualScene Mat cv Mat m typedef unsigned char pi
  • C# 中的密码加密?

    如何在 C 中加密和解密密码 谢谢你的帮助 首先 您实际上并不打算将加密密码保存在任何地方 而是执行单向哈希 例如 SHA 存储该哈希值 然后 当您向用户询问其密码时 您将执行相同的哈希 如果新的哈希值与存储的哈希值匹配 则说明匹配 哈希和
  • 在 python 应用程序中导入 Google Cloud Bigquery api 模块时出错

    我正在尝试将 bigquery 导入到我的 python 应用程序中from google cloud import bigquery并使用 dev appserver py 在本地运行它 但我收到一个错误 File Volumes Bud
  • Linux 上的 CreateFile CREATE_NEW 等效项

    我编写了一个尝试创建文件的方法 不过 我设置了标志 CREATE NEW 因此它只能在它不存在时创建它 它看起来像这样 for handle CreateFileA filePath c str 0 0 NULL CREATE NEW FI
  • ServiceStack客户端添加附件

    我正在使用 ServiceStack ServiceClient Web XmlServiceClient 连接到 Web 服务 有没有办法在请求中添加附件 更多信息 我想做的是避免使用 Microsoft Web Services2 因为
  • Bootstrap-Sass:使用另一个变量覆盖变量

    我在我的一个项目中使用 Bootstrap sass 并且我想使用 Sass 变量对其进行自定义 当然 我创建了一个名为 variables scss 的新 scss 文件 并将其导入到 bootstrap sass 文件之前的主 scss
  • 如何在后续瀑布步骤中检索自适应卡的表单提交

    我正在使用 Bot Framework V4 并且我有一个包含两个步骤的 WaterfallDialog 第一步是捕获表单数据 第二步是处理表单数据 第一步发送回复 private async Task
  • ASP.NET 中第一次单击时按钮 OnClick 未触发?

    protected void ButtonCancel Click object sender EventArgs e Response Redirect Logon aspx 第一次单击取消按钮时这不起作用 确保仅在以下情况下才绑定到事件
  • 关于本地数据库与基于服务的数据库的问题

    我对本地数据库和基于服务的数据库有一些疑问 使用基于服务的数据库是否需要用户安装 SQL Server 如果是这样 有什么办法可以解决吗 本地数据库是否要求用户安装 SQL Server 本地数据库和基于服务的数据库有什么区别 我说的是Vi
  • Java 正则表达式模式

    我需要帮助解决这件事 查看以下正则表达式 Pattern pattern Pattern compile A Za z A Za z Matcher matcher pattern matcher s1 我想查找这样的单词 自制 aaaa
  • 如何在 iPhone 上从 UIWebView 的 HTML 引用本地图像文件?

    我想用 img src temp jpg 在我的 UIWebView 的 HTML 中 如何引用名为的本地文件temp jpg节省宝贵的加载时间 当然 显而易见的选择是 img src 但我不知道我的根在哪里 这将创建一个 URL 对象 其
  • Pyramid 中的 HTML 表单名称数组解析 (Python)

    有什么办法可以Pyramid处理 HTML 表单输入 如下所示
  • 如何像 Spotify 的播放器一样创建居中的 UICollectionView

    我在尝试创建像 Spotify 播放器中那样的 UICollectionView 时遇到了很多困难 其行为如下 对我来说问题有两个 1 如何将单元格居中 以便您可以看到中间的单元格以及左侧和右侧的单元格 如果我创建方形单元格并在每个单元格之
  • 未捕获的 ReferenceError:Flutter 中未定义 firebase

    我无法初始化 Firebase在我的 Flutter 项目中我尝试过输入 the firebase app js firebase auth js and firebase analytics js但我目前正在使用的没有任何效果Fireba
  • MYSQL 没有向我的数据库添加信息

    我有一个表单 用于向数据库添加信息 但查询将无法正常运行 并且根本没有添加信息 这是我尝试执行的 php 代码 但它不断遇到第一个错误或完全转到最后一个 else 语句
  • JavaFX:ListView 未在 GUI 中显示

    我的问题是我的 ListView 在 GUI 上没有显示任何内容 我添加了一个占位符进行测试 它确实显示了占位符文本 但除此之外我无法添加到列表中 我的目标是获得所有客户帐户的列表 我已包含 Account 类 我想在 ListView 中
  • 使用 Java 打印菱形

    我想在 Eclipse 的输出控制台上打印网格形状 基本上 我从用户那里获取了一个整数 它是网格单个边框中的星星数量 这是我到目前为止的代码 public class PrintDiamond public static void main