根据用户输入,打印出相应层数的镂空金字塔

1.第一步,打印出金字塔(非镂空)

import java.util.Scanner;
public class test{public static void main(String[] args) {System.out.println("请输入金字塔的层数");Scanner sc = new Scanner(System.in);int towerLevel = sc.nextInt();/*输入层数为5*           1层 1个*      1=1*2-1  空格数4***           2层 3个*      3=2*2-1     空格数3*****          3层  5个*     5=3*2-1     空格数2*******        4层  7个*     7=4*2-1  空格数1*********     5层 9个*          9=5*2-1  空格数0可以得出 *为  层数*2-1  空格数为总层数-本层数*/for(int i = 1; i <= towerLevel; i++){          //打印每一层,i代表当前层for(int k = 1; k <= towerLevel - i; k++){  //打印当前层的空格,空格数为总层数-本层数System.out.print(" ");}for(int j = 1; j <= i * 2 - 1; j++){       //打印当前层的*,j为当前要打印*在本行中的位置,每行的第一个位置是 j = 1, 最后一个位置是 j=i*2-1System.out.print("*");}System.out.println();}}
}

用户输入5以后,结果为:

2.分析如何打印出镂空金字塔

根据镂空金字塔的图形来看,如果当前层不在最底层,其余层都是只在本行的第一个位置和最后一个位置打印了*,其余位置都为空格,所以打印*的语句前可以加一个if判断条件:当前位置是当前层的第一个 或者 当前位置是当前层的最后一个 或者 当前层是最后一层,用代码体现就是if(j == 1 || j == 2 * i - 1 || i == towerLevel)。

import java.util.Scanner;
public class test{public static void main(String[] args) {System.out.println("请输入金字塔的层数");Scanner sc = new Scanner(System.in);int towerLevel = sc.nextInt();/*输入层数为5*           1层 1个*      1=1*2-1  空格数4***           2层 3个*      3=2*2-1     空格数3*****          3层  5个*     5=3*2-1     空格数2*******        4层  7个*     7=4*2-1  空格数1*********     5层 9个*          9=5*2-1  空格数0可以得出 *为  层数*2-1  空格数为总层数-本层数*/for(int i = 1; i <= towerLevel; i++){          //打印每一层,i代表当前层for(int k = 1; k <= towerLevel - i; k++){  //打印当前层的空格,空格数为总层数-本层数System.out.print(" ");}for(int j = 1; j <= i * 2 - 1; j++){       //打印当前层的*,j为当前要打印*在本行中的位置,每行的第一个位置是 j = 1, 最后一个位置是 j=i*2-1if(j == 1 || j == 2 * i - 1 || i == towerLevel){System.out.print("*");} else{System.out.print(" ");}}System.out.println();}}
}

用户输入5以后结果为:

这样就打印出了镂空金字塔。

java输出镂空金字塔相关推荐

  1. 利用java输出星号金字塔

    import java.util.Scanner;public class ForForTest1 {public static void main(String[] args) {Scanner s ...

  2. java金字塔显示_java控制台输出数字金字塔示例分享

    /*Java *Author: NealFeng at oschina.net *License: GPLv2+ *Time: 2014/1/17 * *在控制台输出数字金字塔: *          ...

  3. java金字塔数字问题,java控制台输出数字金字塔示例分享

    复制代码代码如下: /*Java *Author: NealFeng at oschina.net *License: GPLv2+ *Time: 2014/1/17 * *在控制台输出数字金字塔: ...

  4. java金字塔显示_Java输出正反金字塔循环

    package com.javase.demo; import java.util.Scanner; /** * 金字塔 * @author Mr.Zhang * */ public class Py ...

  5. 用java Java 画出镂空金字塔 嵌套循环 多重循环控制

    写在前面: 最终结果如下图 镂空金字塔问题,我们首先得把问题简化. 简化两个条件: 1.先不镂空 2.前面不加空格,例如这样: 我们可以推测出金字塔的每一层个数的公式为: 2n -1 (n表示层数), ...

  6. 使用双重循环,输出数字金字塔

    代码: package net.text0702;import java.util.Scanner;/*** @author Mr.Wang* 根据输入数字,输出数字金字塔:输入几就是几行,每行输出当 ...

  7. java实现空心金字塔

    前言 最近在学习java,遇到了一个经典打印题目,空心金字塔,初学者记录,根据网上教程,有一句话感觉很好,就是先把麻烦的问题转换成很多的简单问题,最后一一解决就可以了,然后先死后活,先把程序写死,后面 ...

  8. 【用Java画空心金字塔】

    初学Java遇难题,做一个"空心金字塔",上午看了教程后下午上手再次蒙圈,反复观看教程并且深刻思考,和不计其数次的修改才完成, 1.首先需要能输出一个实心金字塔,如图 找到规律层数 ...

  9. Java输出数组中最长递增子序列的代码

    下面内容是关于Java输出数组中最长递增子序列的内容,希望对大伙有较大用途. package com.wzs;import java.util.ArrayList; import java.util. ...

最新文章

  1. “半真半假”DeepFake换脸也能精准识别?阿里安全提出全新检测方法
  2. csr_matrix矩阵用法小结
  3. EnterpriseLibrary数据访问(4)使用数据访问器接收数据
  4. P5253-丢番图【数论】
  5. linux iptables 编译,Linux下编译安装iptables
  6. 《Oracle Life-DBA的一天》海报下载
  7. android cmake 打印_Android NDK 开发:CMake 使用
  8. 使用sqlmetal工具自动生成SQL数据库的Linq类文件
  9. Postfix无法在centos上启动
  10. JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回 out.print(ja);...
  11. 190415每日一句
  12. 【转】卡巴斯基2011导入key专用工具+卡巴斯基提取key工具(激活码转换key)
  13. 软件测试面试题整理(三)之工作/项目流程篇
  14. 【OR】YALMIP 全局最优化
  15. 中德制造业数字化转型白皮书出炉(附下载)
  16. linux下mp3编码库libmp3lame的开发使用
  17. 单载波频域均衡matlab仿真,包括卷积编码维特比译码,矩阵交织,QPSK调制解调,导频插入,MMSE-FDE频域均衡
  18. 10大耗油,10大省油。
  19. 颜值高的游戏键盘—HyperX Alloy Origins 60 霓虹粉游戏机械键盘
  20. MySQL(进阶篇)

热门文章

  1. vf计算机二级的描述,计算机二级vf共基础知识归纳.doc
  2. 美团笔试题2021.8.29(第四题求大佬解答)
  3. 电脑无法开机或开机黑屏——可能是硬盘问题
  4. 动态规划应用举例_背包问题
  5. 计算机硬件基础--配置个人电脑
  6. c# messageboxbutons.ok,MessageBoxIcon.Information 是什么意思
  7. 7.关于cdn、页面静态化
  8. HC-05蓝牙模块--------手机与STM32通信(代码编写)(上位机配置)保姆级教程
  9. Python爬虫 输入城市 获取对应KFC餐厅名字及地址 -- KFC店铺位置抓取
  10. python入门之函数结构函数的参数_Python 基础之函数初识与函数参数