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. 微软收购 GitHub

    微软收购 GitHub 微软收购 GitHub震惊业界:引发开发者信任问题 https://news.cnblogs.com/n/598432/ GitLab refs xgqfrms 2012-20 ...

  2. how to using Linux pipe command output another command's help content to a file

    how to using Linux pipe command output another command's help content to a file Linux tee > >& ...

  3. HTML5 stream video player

    HTML5 stream video player Aliplayer https://player.alicdn.com/aliplayer/index.html https://help.aliy ...

  4. Chrome 80 & SameSite & cookie

    Chrome 80 & SameSite & cookie chrome://settings/help https://developers.google.com/web/updat ...

  5. how to change svg polygon size by update it's points in js

    how to change svg polygon size by update it's points in js matrixTransform https://stackoverflow.com ...

  6. Nestjs 修改dist目录

    修改tsconfig.json { "compilerOptions": { "outDir": "./server-dist", // 这 ...

  7. 如何在ASP.NET Core中编写高效的控制器

    ​通过遵循最佳实践,可以编写更好的控制器.所谓的"瘦"控制器(指代码更少.职责更少的控制器)更容易阅读和维护.而且,一旦你的控制器很瘦,可能就不需要对它们进行太多测试了.相反,你可 ...

  8. 使用stress进行压力测试

    本文转载自使用stress进行压力测试 导语 stress,顾名思义是一款压力测试工具.你可以用它来对系统CPU,内存,以及磁盘IO生成负载. 安装stress 几乎所有主流的linux发行版的软件仓 ...

  9. WPF 如何修改button圆角(经典)

    本人想设置Button为圆角,奈何搜索百度,找到的全是坑爹答案,现总结如下: 1. 需要添加button 的template. 2. 设置border的时候,必须要设置background, 否则会提 ...

  10. teamviewer远程是账号密码都没错但是报正在初始化参数...

    1.出现这个原因,可能是 通过(mstsc)远程桌面方式运行了teamviewer,被远程控制电脑就会出现这个现象. 可以试一下 服务-teamviewer-属性-登录-本地系统账户 -允许服务与桌面 ...