java中如何打印规定图案? 举例说明
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中如何打印规定图案? 举例说明的更多相关文章
- Java中PrintStream(打印输出流)
Java中PrintStream(打印输出流) PrintStream 是打印输出流,它继承于FilterOutputStream. PrintStream 是用来装饰其它输出流.它能为其他输出流 ...
- K:java中正则表达式的使用说明及其举例
从Java1.4起,java核心API就引入了java.util.regex程序包来处理正则表达式,并使用该包下的相关类进行字符串的匹配.搜索.提取.分析结构化内容等工作.需要注意的是,正则表达式本身 ...
- Java例题_19 打印菱形图案
1 /*19 [程序 19 打印菱形图案] 2 题目:打印出如下图案(菱形) 3 * 4 *** 5 ***** 6 ******* 7 ***** 8 *** 9 * 10 */ 11 12 /*分 ...
- java 中的打印流
package cn.zhou; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.F ...
- java中日志打印
目录 一.预先判断日志级别 二.避免无效日志打印 三.区别对待错误日志 四.保证记录完整内容 打印日志,要注意下面4点. 一.预先判断日志级别 对DEBUG.INFO级别的日志,必须使用条件输出或者使 ...
- Java 中怎么打印数组?
你可以使用 Arrays.toString() 和 Arrays.deepToString() 方法来打印数组.由 于数组没有实现 toString() 方法,所以如果将数组传递给 System.ou ...
- 理解Java中对象基础Object类
一.Object简述 源码注释:Object类是所有类层级关系的Root节点,作为所有类的超类,包括数组也实现了该类的方法,注意这里说的很明确,指类层面. 所以在Java中有一句常说的话,一切皆对象, ...
- java中的日志打印
java中的日志打印: 日志工具类: #获取日志 INFO:表示获取日志的等级 A1:表示日志存器,可以自定义名称 #===DEBUG INFO log4j.rootLogger=DEBUG,A1,A ...
- Java中Calendar(日历)相关API举例
Java中Calendar(日历)相关API举例,实现功能:输入一个年份和月份打印出这个月的日历. package calendarPrint; import java.util.Calendar; ...
随机推荐
- 『现学现忘』Docker基础 — 11、Docker安装的问题补充
目录 1.问题复现 2.解决冲突 3.重新安装docker-ce-selinux 4.安装Docker-ce 5.总结 通过yum安装Docker的时候,安装20版本的Docker没有出现问题,在安装 ...
- 清华大学ucore操作系统课笔记
操作系统 清华大学ucore操作系统课笔记 全文思维导图 1. 操作系统概述 1.1 什么是操作系统? 操作系统的定义 没有公认的精确定义 一个控制程序 一个系统软件 控制程序执行过程,防止错误和计算 ...
- 34 异常机制 异常体系结构 Java把异常当做对象来处理 并定义一个基类java.lang.Throwable作为所有异常的超类 Error Exception
异常体系结构 概念 Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类. 在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Erro ...
- 20192204-exp1-逆向与Bof基础
1 逆向及Bof基础实践说明 1.1 实践目标 本次实践使用的是kali系统 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回 ...
- Django基础五之Ajax
Django基础五之Ajax 目录 Django基础五之Ajax 1. Ajax介绍 2. Ajax前后端传值 2.1 方法一HttpResponse直接返回 2.2 方法二使用Json格式返回 2. ...
- python关于openpyxl库的常用使用介绍
from openpyxl import load_workbook #只能加载已存在的表格 wb=load_workbook("D:\zhijing_work\测试数据\测试文件\yeta ...
- 机器学习之BP神经网络
import random import math #神经元的定义 class Neuron: def __init__(self,bias): self.bias = bias self.weigh ...
- Mysql下载路径和安装
下载路径 https://dev.mysql.com/downloads/mysql/ C:\Windows\system32>net start mysql 发生系统错误 2. 系统找不到指定 ...
- zookeeper可视化WEB工具(zkui)搭建与配置
前提:zookeeper 可视化WEB工具zkui依赖java环境,因此需要安装jdk,同时zkui源码要Maven编译,需要安装apache-maven. JDK下载地址:https://www.o ...
- 常用命令行指令 Windows & Linux
一.Linux linux常用命令详解:https://www.cnblogs.com/yuncong/p/10247583.html 挂载U盘到linux一个文件夹中 二.Windows 1.查看电 ...