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. React Hooks: useRef All In One

    React Hooks: useRef All In One useRef https://reactjs.org/docs/hooks-reference.html#useref refs xgqf ...

  2. how HTTPS works

    How HTTPS works HTTPS comic tutorials How HTTPS works ...in a comic! https://howhttps.works/ A cat e ...

  3. Deno 1.0 & Node.js

    Deno 1.0 & Node.js A secure runtime for JavaScript and TypeScript. https://deno.land/v1 https:// ...

  4. HTTP in depth

    HTTP in depth https://developer.mozilla.org/en-US/docs/Web/HTTP https://developer.mozilla.org/en-US/ ...

  5. how to delete the virtual dom that created in memory using js

    how to delete the virtual dom that created in memory using js const virtualDomConvert = (filename = ...

  6. vscode & typescript & optional-chaining bug

    vscode & typescript & optional-chaining bug https://www.cnblogs.com/xgqfrms/p/11745541.html ...

  7. nasm astrchr函数 x86

    xxx.asm: %define p1 ebp+8 %define p2 ebp+12 %define p3 ebp+16 section .text global dllmain export as ...

  8. qt 注册热键

    原文 将所需的库添加到您的qmake项目(.PRO文件) LIBS += \ -lUser32 2.在代码中包含所需的头文件. #include <windows.h> 在程序开始时注册热 ...

  9. better-scroll使用参考

    ************better-scroll是基于父元素固定高度,溢出才滚动的,所以父元素务必定高,否则无法滚动***************************************** ...

  10. 「NGK每日快讯」2021.2.1日NGK公链第90期官方快讯!