java输出镂空金字塔实现案例
短信预约 -IT技能 免费直播动态提醒
根据用户输入,打印出相应层数的镂空金字塔
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();
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();
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镂空金字塔内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341