目录
效果:因为我用的IDEA 编码(GBK,而我设置的是UTF-8),由于编码问题所以没用cmd 编译,和cmd编译出来的效果不太一样,不太好看,所以方案二改进一下。





- package com.gao.test.exercise;
-
- import java.util.Scanner;
-
- /**
- * @Author lie
- * @Description 空心金字塔
- */
- public class HighTower {
- public static void main(String[] args) {
- int n = 0;
- do {
- Scanner in = new Scanner(System.in);
- System.out.println("需要打印多高的空心金字塔?(退出程序请输入0)\n请输入:");
- n = in.nextInt();//需要打印几行
- if(0 == n){
- System.out.println("已经退出程序");
- }else {
- System.out.println("即将创建" + n + "行的空心金字塔");
- }
- for (int i = 1; i <= n; i++) { //第几行i
- for (int j = 0; j < n + 1 - i; j++) { // 打印前面的空格
- System.out.print(" ");
- }
- for (int k = 0; k < 2*i - 1; k++) { //打印星星
- //空心判断、最后一行判断
- if (k == 0 || k == 2*i - 2 || i == n) {
- System.out.print("*");
- } else {
- System.out.print(" "); //打印空心
- }
- }
- System.out.println("\n");
- }
- }while (n != 0);
- }
- }

- package com.gao.test.exercise;
-
- import java.util.Scanner;
-
- /**
- * @Author lie
- * @Description 空心金字塔
- */
- public class HighTower {
- public static void main(String[] args) {
- int n = 0;
- do {
- Scanner in = new Scanner(System.in);
- System.out.println("需要打印多高的空心金字塔?(退出程序请输入0)\n请输入:");
- n = in.nextInt();//需要打印几行
- if(0 == n){
- System.out.println("已经退出程序");
- }else {
- System.out.println("即将创建" + n + "行的空心金字塔");
- }
- for (int i = 1; i <= n; i++) { //第几行i
- for (int j = 0; j < n + 1 - i; j++) { // 打印前面的空格
- System.out.print(" ");
- }
- for (int k = 0; k < i; k++) { //打印星星
- //空心判断、最后一行判断
- if (k == 0 || k == i - 1 || i == n) {
- System.out.print(" *");
- } else {
- System.out.print(" "); //打印空心
- }
- }
- System.out.println("\n");
- }
- }while (n != 0);
- }
- }
