1 /*19 【程序 19 打印菱形图案】
2 题目:打印出如下图案(菱形)
3 *
4 ***
5 *****
6 *******
7 *****
8 ***
9 *
10 */
11
12 /*分析
13 * 首先想到for循环,但是for只能完成递增或者递减,于是将图形分成两部分,一个正三角,一个倒三角
14 * 三角形的输出就像九九乘法表,用到两层循环,一层控制输出多少行,另一层控制输出*的个数
15 * 但是怎么居中呢。。。
16 * =========居中=======
17 * 据观察:找到三角中轴位置X,然后 上三角时(x-i)<j<(x+i)时输出*,其他输出" "
18 * 下三角时(i-x)<j<n-(i-x)+1 时输出*,其他输出" "
19 * //i是这一行的行数
20 * x=n/2+1
21 * */
22
23 package homework;
24
25 public class _19 {
26
27 public static void main(String[] args) {
28 // 声明n=7,也就是共输出7行
29 int n = 7;
30 int x=n/2+1; //x是中轴
31 //两层for循环输出*
32 for (int i = 1; i <=n; i++) { //一共7行
33 //上三角
34 if (i<=x) { //行数在中轴之上(包括中轴)
35 //第二层for循环输出上三角*
36 for (int j = 1; j <=n; j++) {
37 if ((j>x-i)&(j<x+i)) { //在中轴偏移量范围内输出*
38 System.out.print("*");
39 }
40 else {
41 System.out.print(" "); //中轴偏移外输出“ ”
42 }
43 }
44 }
45 //下三角
46 else {
47 //第二层for循环,输出下三角的*(i=>5~7)
48 for (int j = 1; j <=n; j++) {
49 if ((j>i-x)&(j<n-(i-x)+1)) {
50 System.out.print("*");
51 }
52 else {
53 System.out.print(" "); //中轴偏移外输出“ ”
54 }
55 }
56 }
57 System.out.println(); //换行
58 }
59 }
60
61 }

Java例题_19 打印菱形图案的更多相关文章

  1. java:打印菱形图案(传参打印的自定义字符和行数)

    打印菱形图案: 代码实现: public class Hello { public static void main(String args[]) { LingXingPrint("#&qu ...

  2. JAVA 基础编程练习题19 【程序 19 打印菱形图案】

    19 [程序 19 打印菱形图案] 题目:打印出如下图案(菱形) *    ***  ************  *****    ***      * 程序分析:先把图形分成两部分来看待,前四行一个 ...

  3. Java50道经典习题-程序19 输入行数打印菱形图案

    题目:根据用户输入的行数打印菱形图案,若用户传入的是为偶数则提示用户重新输入,例如输入数字7打印出如下菱形图案   *  *** ************ *****  ***   *分析:先把图形分 ...

  4. 如何利用while语句根据用户输入要求打印菱形图案

    需求:如何利用while语句根据用户输入要求打印菱形图案 diamond.py代码如下: x=int(input('Please input number: ')) i=1 j=1 while i&l ...

  5. 打印菱形图案(PTA)

    打印菱形图案 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 标题输入格式 输入在一行中给出一个正的奇数n. 输出格式 输出由n行星号"*"组 ...

  6. java中如何打印规定图案? 举例说明

    9.4 print out the following pattern(打印图案). * *** ***** ******* ***** *** * 提示: 1)本题上面的图案和下面的图案是一样的.所 ...

  7. 2017.12.1 如何用java写出一个菱形图案

    上机课自己写的代码 两个图形原理都是一样的 1.一共有仨个循环 注意搞清楚每一层循环需要做的事情 2.第一层循环:是用来控制行数 3.第二层循环控制打印空格数 4.第三层循环是用来循环输出星星 imp ...

  8. java 通过控制台输入的数字打印菱形字母

    package com.rui.test; import java.util.Scanner; /** * @author sunshine * @version 1.0 * @date:2015年1 ...

  9. 通过原生JS打印一个空心菱形图案

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

随机推荐

  1. Jamstack Conf 2020

    Jamstack Conf 2020 Jamstack Conf Virtual https://jamstackconf.com/virtual/ Conf Schedule https://jam ...

  2. how to check SVG type in js

    how to check SVG type in js SVGSVGElement & SVGElement svg = document.querySelector(`svg`); // & ...

  3. Docker In Action

    Docker In Action Docker 实战 https://docs.docker.com/get-started/overview/ Docker Engine Docker Archit ...

  4. UML online tools

    UML online tools UML https://www.diagrams.net/assets/svg/home-dia1.svg refs https://www.diagrams.net ...

  5. React SSR in Action

    React SSR in Action react render HTML string from the server ReactDOMServer https://reactjs.org/docs ...

  6. EventBus / Event Bus

    EventBus / Event Bus EventEmitter / Event Emitter https://greenrobot.org/eventbus/documentation/ htt ...

  7. Github 获取仓库的releases API

    API 文档 example: 这将获取所有的版本 https://api.github.com/repos/januwA/flutter_anime_app/releases 最新版本: https ...

  8. NGK公链如何构建区块链数字经济商业帝国?

    2020年对于区块链市场来说,重大的利好消息莫过于NGK公链的上线了.NGK公链其广泛的市场前景.顶尖的技术,一直备受众多大型机构以及投资者所看好.同时,NGK公链也不负众望,在上线以后,就开始落地到 ...

  9. AtCoder Regular Contest 113

    比赛地址 A(暴力) 题目链接 题目: 给出\(K\),求出满足\(A\times B\times C\le K\)的\((A,B,C)\)对数 解析: 将C移动到等式右边,得到\(A\times B ...

  10. 使用 Tye 辅助开发 k8s 应用竟如此简单(四)

    续上篇,这篇我们来进一步探索 Tye 更多的使用方法.本篇我们来了解一下如何在 Tye 中如何进行日志的统一管理. Newbe.Claptrap 是一个用于轻松应对并发问题的分布式开发框架.如果您是首 ...