千家信息网

Java怎么用二维数组创建空心菱形

发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,本文小编为大家详细介绍"Java怎么用二维数组创建空心菱形",内容详细,步骤清晰,细节处理妥当,希望这篇"Java怎么用二维数组创建空心菱形"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
千家信息网最后更新 2025年02月09日Java怎么用二维数组创建空心菱形

本文小编为大家详细介绍"Java怎么用二维数组创建空心菱形",内容详细,步骤清晰,细节处理妥当,希望这篇"Java怎么用二维数组创建空心菱形"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

如何用二维数组创建空心菱形

提供一个我自己的实现方法,方法实现只是一个人的是靠方式,并不是代表实力,真正的实力用自己的这种思维解决别人亟待解决的问题,真才是目前我觉得的编程的意义。鸡汤喝了,精神好了!来看看我的实例。

题目:用"*"创建一个菱形空心

为了能更好的找出横纵坐标的关系,我简单做了一个菱形图

图1.菱形

从图中可以找出*点与坐标值的意义,所以此题是用二维坐标来做的;

分两部分输出图像, 上半部分:

从中间开花,给两边的值赋值为1,否则为0,最后给赋值为1的点输出*号;

  • 定义二维数组的位 int []a=new int [13][13];

  • 定义列方向上的两个点,p1,p2,即a[i][p1],a[i][p2];

所以由图2,可知 A ,B,C点可以知道p1=a.length/2-i(在编程过程中i是0,a.length/2是6也是一行中的中点),p2=a.length/2+i; B(i,p1),C(i,p2);

图2.菱形

为什么分两部分,因为在a.lengh/2-i ,在i等于7的时候得负了,所以并不能一直使用原来的p1,p2的值,需要重新找好横纵坐标的规律。

下半部分:

D的坐标是(i,i-a.length/2),即D(i,p3),E的坐标比较难找到关系,我也是想了很久,呵呵就是一直试,最后没办法试不出来,还是画图做分析才找到规律的,所以科学的方法是要用数学的思维,找横纵坐标点的位置关系;

图3 E点坐标分析

具体实现代码:

package com.JavaBase; public class lingxing {        // 菱形         public static void main(String[] args) {                int n = 15;//n只能是奇数                int[][] a = new int[n][n];                for (int i = 0; i < a.length; i++) {                        for (int j = 0; j < a[i].length; j++) {                                a[i][j] = 0;                                int p1 = a.length / 2 - i;                                int p2 = a[i].length / 2 + i;//p1,p2的规律非常好找                                if (i <= a.length / 2) {//上半部分                                        a[i][p1] = 1;                                        a[i][p2] = 1;                                        if (a[i][j] == 1) {                                                System.out.print("*");                                        } else {                                                System.out.print(" ");                                        }                                } else {//下半部分                                        int p3 = i - a.length / 2;//与p1相反                                        int p4 = a.length - (i - a.length / 2) - 1;//p4的规律比较难找到                                        a[i][p3] = 1;                                        a[i][p4] = 1;                                        if (a[i][j] == 1) {                                                System.out.print("*");                                        } else {                                                System.out.print(" ");                                        }                                }                        }                        System.out.println();                }        }}

给予借鉴和思考,方法有很多,不单只有这种,也许你的改进之后会更好。

使用数组打印实心菱形

输出如图所示的图像

思路创建一个二维方形数组,写出正方形的四个角,之后用stringbuffer中的append进行替换

知识点:

输入Scanner sc = new Scanner(System.in); 想要转换成int数要 int num =sc.nextInt();

二维数组的输出(其中一种方法)

for(int i=0;i

正式代码

import java.util.Scanner; public class text_2 {        public static void main(String[] args){                System.out.println("请输入数组维度");                Scanner sc = new Scanner(System.in);                int num =sc.nextInt();                text_2.printstart(num);                         }        public static void printstart(int n){                int[][] array = new int[n][n];                for (int row = 0;row

读到这里,这篇"Java怎么用二维数组创建空心菱形"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

菱形 数组 二维 方法 坐标 规律 部分 输出 文章 纵坐标 代码 内容 半部 图像 实力 思维 思路 意义 知识 知识点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 四川税务局安全接入服务器地址 服务器塔台 上海浪潮服务器续保价格 保护数据库安全的关键技术 消防大队网络安全会议研究 苏州嵌入式软件开发哪家便宜 如何动态生成数据库表单 软件开发控制程序的作用 交通银行软件开发工资 网络安全手抄报黑白画简单 五区一组服务器都有哪些 数据库表的值不能为空 用途最广的软件开发 方舟服务器哪个地图不能攻击玩家 龙口平台软件开发 河师大进入acs数据库 网络安全基技术 整合档案和建立数据库的区别 明日之后的起源地服务器在哪儿 网络安全硬件设备咨询报价 网络安全理念需与技术并行 研究所的软件开发岗位 审计局关于网络安全的ppt 会计数据库技术讲什么 深圳艾瑞特软件开发有限公司 裸金属服务器是啥意思 北京古桓网络技术 闵行区上海网络技术有限公司 linux下数据库导入 数据库一张表就是一个实体吗
0