java 金字塔样式输出_Java打印金字塔(正实心、正空心,倒实心、倒空心),菱形...
解題就干一件事:找j,k與i的關(guān)系(規(guī)律)
*/
public class PrintPyramid {
public static void main(String[] args) {
int n = 6;
printPyramid(n); //打印實心金字塔
System.out.println("------------------------------------------");
printReversedPyramid(n); //打印倒的實心金字塔
System.out.println("------------------------------------------");
printHollowPyramid(n); //打印空心金字塔
System.out.println("------------------------------------------");
printReversedHollowPyramid(n); //打印倒的空心金字塔
System.out.println("------------------------------------------");
printRhombus(n); //打印實心菱形
System.out.println("------------------------------------------");
printHollowRhombus(n); //打印空心菱形
}
/*
打印正的實心金字塔
*
***
*****
*******
/
private static void printPyramid(int n) {
for (int i = 1; i <= n ; i++) {
for (int k = 1;k <= n - i;k++) {
System.out.print(" ");
}
for (int j = 1;j <= 2 * i - 1;j++) {
System.out.print("");
}
System.out.println();
}
}
/*
打印倒的實心金字塔
*******
*****
***
*
/
private static void printReversedPyramid(int n) {
for (int i = 1; i <= n ; i++) {
for (int k = 1;k < i;k++) {
System.out.print(" ");
}
/
先死后活法找規(guī)律
先死:
n = 4; 2 * n - 1
i 1 2 3 4
*個數(shù) 7 5 3 1
規(guī)律:7 + (i - 1) * (-2)
后活:
(2 * n - 1) + (i - 1) * (-2) = 2 * n - 2 * i + 1
/
for (int j = 1;j <= 2 * n - 2 * i + 1;j++) {
System.out.print("");
}
System.out.println();
}
}
/*
打印正的空心金字塔
*
* *
* *
*******
/
private static void printHollowPyramid(int n) {
for (int i = 1; i <= n ; i++) {
if (i == 1) {
for (int k = 1;k <= n - 1;k++) {
System.out.print(" ");
}
System.out.println("");
} else if (i == n) {
for (int j = 1; j <= 2 * n - 1 ; j++) {
System.out.print("");
}
System.out.println();
} else {
for (int k = 1;k <= n - i;k++) {
System.out.print(" ");
}
System.out.print("");
for (int k = 1; k <= 2 * i - 3 ; k++) {
System.out.print(" ");
}
System.out.print("*");
System.out.println();
}
}
}
/*
打印倒的空心金字塔
*******
* *
* *
*
/
private static void printReversedHollowPyramid(int n) {
for (int i = 1; i <= n; i++) {
if (i == 1) {
for (int j = 1; j <= 2 * n - 1 ; j++) {
System.out.print("");
}
System.out.println();
} else if (i == n) {
for (int k = 1;k <= n - 1;k++) {
System.out.print(" ");
}
System.out.println("");
} else {
for (int k = 1;k <= i - 1;k++) {
System.out.print(" ");
}
System.out.print("");
for (int k = 1; k <= 2 * n - 2 * i - 1 ; k++) {
System.out.print(" ");
}
System.out.print("*");
System.out.println();
}
}
}
/*
打印實心菱形
*
***
*****
*******
*****
***
*
/
private static void printRhombus(int n) {
for (int i = 1; i <= n - 1 ; i++) {
for (int k = 1;k <= n - i;k++) {
System.out.print(" ");
}
for (int j = 1;j <= 2 * i - 1;j++) {
System.out.print("");
}
System.out.println();
}
printReversedPyramid(n);
}
/*
打印空心菱形
*
* *
* *
* *
* *
* *
*
/
private static void printHollowRhombus(int n) {
for (int i = 1; i <= n - 1 ; i++) {
if (i == 1) {
for (int k = 1;k <= n - 1;k++) {
System.out.print(" ");
}
System.out.println("");
} else if (i == n) {
for (int j = 1; j <= 2 * n - 1 ; j++) {
System.out.print("");
}
System.out.println();
} else {
for (int k = 1;k <= n - i;k++) {
System.out.print(" ");
}
System.out.print("");
for (int k = 1; k <= 2 * i - 3 ; k++) {
System.out.print(" ");
}
System.out.print("*");
System.out.println();
}
}
for (int i = 1; i <= n; i++) {
if (i == 1) {
System.out.print("*");
for (int k = 1; k <= 2 * n - 3 ; k++) {
System.out.print(" ");
}
System.out.print("*");
System.out.println();
} else if (i == n) {
for (int k = 1;k <= n - 1;k++) {
System.out.print(" ");
}
System.out.println("*");
} else {
for (int k = 1;k <= i - 1;k++) {
System.out.print(" ");
}
System.out.print("*");
for (int k = 1; k <= 2 * n - 2 * i - 1 ; k++) {
System.out.print(" ");
}
System.out.print("*");
System.out.println();
}
}
}
總結(jié)
以上是生活随笔為你收集整理的java 金字塔样式输出_Java打印金字塔(正实心、正空心,倒实心、倒空心),菱形...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue渐进式的含义是什么
- 下一篇: java美元兑换,(Java实现) 美元