概述
根据用户输入,打印出相应层数的镂空金字塔
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-1 System.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-1 if(j == 1 || j == 2 * i - 1 || i == towerLevel){ System.out.print("*"); } else{ System.out.print(" "); } } System.out.println(); } } }
用户输入5以后结果为:
这样就打印出了镂空金字塔。
到此这篇关于java输出镂空金字塔实现案例的文章就介绍到这了,更多相关java镂空金字塔内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!
最后
以上就是怕孤单水池为你收集整理的java输出镂空金字塔实现案例的全部内容,希望文章能够帮你解决java输出镂空金字塔实现案例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复