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. learning 2018

    learning 2018 https://scotch.io/courses https://laod.cn/hosts/ipv6-dns.html xgqfrms 2012-2020 www.cn ...

  2. LeetCode & Binary Search 解题模版

    LeetCode & Binary Search 解题模版 In computer science, binary search, also known as half-interval se ...

  3. how to remove git commit history

    how to remove git commit history 如何删除 GitHub 仓库的历史数据 git filter-branch remove GitHub git commit hist ...

  4. vue render html string

    vue render html string shit element ui render string array relativeShowConvert(data) { // log(`data` ...

  5. NGK.IO的智能合约是炒作还是未来商业的主流?

    随着NGK主网的上线,NGK市场也备受关注.目前,NGK代币价格已经由初始价格0.0215美元涨到现在的0.86美元,代币价格上涨40倍!数字货币市场也已经将重点目光放到了NGK代币上,相信在不久的将 ...

  6. 自己的Scrapy框架学习之路

    开始自己的Scrapy 框架学习之路. 一.Scrapy安装介绍 参考网上资料,先进行安装 使用pip来安装Scrapy 在开始菜单打开cmd命令行窗口执行如下命令即可 pip install Scr ...

  7. Pygame基础(1)

    Pygame是Python的一个很常用的游戏框架,今天我来讲一讲Pygame的基础知识 Pygame的官网:https://www.pygame.org/news Pygame的下载 打开cmd输入p ...

  8. 力扣168. Excel表列名称

    原题 1 class Solution: 2 def convertToTitle(self, n: int) -> str: 3 s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ...

  9. Pycharm模块导入失败,带有红色波浪线。

    在Pycharm中打开一个python开源工程,结果在导入库的部分一堆红色波浪线显示错误,并且按住Ctrl + 鼠标左击无法跳转到指定类或方法,如下图所示. 解决方法: (1)首先忽略掉这些报错,先运 ...

  10. 上百本电子书(Java/Hadoop/Spark/Linux/机器学习/)免费分享 百度云持续更新

    分享一下自己整理的超多电子书, 其中包括:Java,Hadoop,Spark,Linux,Hbase,Hive,机器学习,区块链 目录如下: 1 Java 基础 2 Java 虚拟机 3 Java 并 ...