9.4 print out the following pattern(打印图案)。

*

***

*****

*******

*****

***

*

提示: 1)本题上面的图案和下面的图案是一样的。所以在打印上面图案的时候,把图案一行一行的都记录在数组b[i]当中。
打印下面的图案时,直接就用上面那个数组反向 打印出来就可以了。马克-to-win 
2)找一下规律,第一行左边有三个空格,中间有一个星号,右边有三个空格,第二行左边有两个空格,中间有三个
星号,右边有两个空格。所以一行由三部分组成,左中右。
左边,行号i与空格数目的函数关系式是:(7 - ((2 * i) - 1)) / 2,当i等于1时,前面式子等于3,当i等于2时,前面式子等于2
中间,行号i与星号数目的函 数关系式是: (2 * i - 1) ,当i等于1时,前面式子等于1,当i等于2时,前面式子等于3.
右边,行号i与空格数目的函数关系式是:(7 - ((2 * i) - 1)) / 2

(hint: for the first half, the rule is 2n-1. record their pattern( the number of their * asterisk and the number of space, then apply to the second half.but the sequence is reverse.)

public class Test {
    public static void main(String[] args) {
        int n = 7;
        int m = (n + 1) / 2;     /*m说明头4行应怎么画*/
        String[] b = new String[n]; //记录用set up a Array to memorize the records
        for (int i = 0; i < n; i++) {
            b[i] = ""; //清空set every head of the element is ""  in order to avoid the "NULL" appeared
        }
        for (int i = 1; i <= m; i++) {
            for (int a = 0; a < (n - ((2 * i) - 1)) / 2; a++) {
                System.out.print(" ");
                b[i - 1] = b[i - 1] + " "; // add to itself
            }
            for (int a = 0; a < (2 * i - 1); a++) {
                System.out.print("*");
                b[i - 1] = b[i - 1] + "*";
            } //“*”
            for (int a = 0; a < (n - ((2 * i) - 1)) / 2; a++) {
                System.out.print(" ");
                b[i - 1] = b[i - 1] + " ";
            }
            System.out.print("\n");
        }
  /*下一段话是反向打印,下面的图案*/
        for (int i = n - m; i > 0; i--) {
            System.out.print(b[i - 1]);
            System.out.print("\n");
        }
    }
}

更多内容请见原文,文章转载自:https://blog.csdn.net/qq_44639795/article/details/103142981

java中如何打印规定图案? 举例说明的更多相关文章

  1. Java中PrintStream(打印输出流)

    Java中PrintStream(打印输出流)   PrintStream 是打印输出流,它继承于FilterOutputStream. PrintStream 是用来装饰其它输出流.它能为其他输出流 ...

  2. K:java中正则表达式的使用说明及其举例

    从Java1.4起,java核心API就引入了java.util.regex程序包来处理正则表达式,并使用该包下的相关类进行字符串的匹配.搜索.提取.分析结构化内容等工作.需要注意的是,正则表达式本身 ...

  3. Java例题_19 打印菱形图案

    1 /*19 [程序 19 打印菱形图案] 2 题目:打印出如下图案(菱形) 3 * 4 *** 5 ***** 6 ******* 7 ***** 8 *** 9 * 10 */ 11 12 /*分 ...

  4. java 中的打印流

    package cn.zhou; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.F ...

  5. java中日志打印

    目录 一.预先判断日志级别 二.避免无效日志打印 三.区别对待错误日志 四.保证记录完整内容 打印日志,要注意下面4点. 一.预先判断日志级别 对DEBUG.INFO级别的日志,必须使用条件输出或者使 ...

  6. Java 中怎么打印数组?

    你可以使用 Arrays.toString() 和 Arrays.deepToString() 方法来打印数组.由 于数组没有实现 toString() 方法,所以如果将数组传递给 System.ou ...

  7. 理解Java中对象基础Object类

    一.Object简述 源码注释:Object类是所有类层级关系的Root节点,作为所有类的超类,包括数组也实现了该类的方法,注意这里说的很明确,指类层面. 所以在Java中有一句常说的话,一切皆对象, ...

  8. java中的日志打印

    java中的日志打印: 日志工具类: #获取日志 INFO:表示获取日志的等级 A1:表示日志存器,可以自定义名称 #===DEBUG INFO log4j.rootLogger=DEBUG,A1,A ...

  9. Java中Calendar(日历)相关API举例

    Java中Calendar(日历)相关API举例,实现功能:输入一个年份和月份打印出这个月的日历. package calendarPrint; import java.util.Calendar; ...

随机推荐

  1. B站(bilibili) 等级升级脚本-云函数版

    前言 云函数运行会莫名其妙的报错(我也不知道为什么,我这边测试有时候报错,有时候不会),并非代码有错,建议在本地运行. 由于之前写的代码有些bug,后面又又又又又又又更新了. 最后更新于2022-1- ...

  2. python+selenium+pycharm使用

    上一章节讲了安装python及selenium,该章节讲解下使用pycharm编辑器进行代码编写 下载地址:http://www.jetbrains.com/pycharm/download/#sec ...

  3. Linux下面怎么安装PHP扩展?

    一般开发环境都是在windows上, 安装扩展也很容易, 直接把下载的.dll文件扔到ext下面, 改一下php.ini文件. 完事了. linux上有两种安装方法 1.编译安装 //下载文件 #wg ...

  4. eval()计算某个字符串,js和jquery都可以使用

    实例 执行JavaScript代码或表达式: <script>eval("x=10;y=20;document.write(x*y)");document.write( ...

  5. Laravel-多条件检索方案

    控制器 public function index(Request $request) { $status = $request->input('status'); $title = $requ ...

  6. CF587F&CF547E题解

    这两道题好像啊 贡献一种使用SAM和ACAM草两道题的方法 下面假装有 \(O(\sum |S|=m)=O(n)\). 你看看,这CF换过多少个出题人啦?换汤不换药啦!其实这两道题是同一个人出的 CF ...

  7. JavaWeb之Servlet、拦截器、监听器及编程思想

    本文包含的内容有: Servlet的理解 自定义Servlet.监听器和过滤器 三者的一点点编程设计思想 后续的学习 JavaWeb是Web开发的重要基础,对Servlet.监听器和过滤器等知识的掌握 ...

  8. JavaWeb 11_文件上传

    一.操作步骤 1.要有一个form标签,method=post 请求2.form标签的encType属性值必须为multipart/form-data值3.在form标签中使用input type=f ...

  9. JavaWeb 02_servlet基础

    1. servlet是什么?作用? 1) Servlet 是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案I而具体的Servlet容器负责提供标准的 ...

  10. Linux 环境下安装 Nexus 私服存储库

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 一.nexus私服存储库简介 Nexus 是一个强大的maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问.,还可以用来创建yum ...