如何打印这个金字塔图案?

我是java的新手。 我不知道如何打印这个金字塔图案……

这是我的尝试:

for (int i=0;i<=input;i++) { for (int j=1;j<=i;j++) { System.out.print("x"); } System.out.println(); } 

输入= 8时的预期输出:

  x xox xoxox xoxoxox xoxoxoxox xoxoxoxoxox xoxoxoxoxoxox xoxoxoxoxoxoxox 

在打印符号之前,您需要打印空间。 此外,您可以使用if (k%2 == 0)来打印两种符号。

 for (int i=0; i<=input; i++) { for(int j=input; j>=i; j--) { System.out.print(" "); } for (int k=1; k<=i*2-1; k++) { if (k%2 == 0) System.out.print("o"); else System.out.print("x"); } System.out.println(); } 

此方法使用星号字符绘制金字塔图案。 您可以*用任何其他字符替换星号来绘制金字塔。

  public static void drawPyramidPattern() { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5 - i; j++) { System.out.print(" "); } for (int k = 0; k <= i; k++) { System.out.print("* "); //write your business logic here to display alternate x and 0 } System.out.println(); } } 

第1行:x

第2行:xox(“ox”的数量:1)

第3行:xoxox(“ox”的数量:2)

线n:xoxox …. ox(#“ox:n-1”)

所以,第n行如下。

  public static void printXO(int n){ if(n < 1){ return; } System.out.print("x"); for(int i = 1 ; i < n ; i++){ System.out.print("ox"); } System.out.println(); } 

对于第n行,我们需要input-n空格。

 for(int n = 1 ; n <= input ; n++){ for(int j = 0 ; j < input - n ; j++) System.out.print(" "); printXO(n); } 

这是完整的代码。

 public class Pyramid { public static void main(String[] args) { int input = 8; for(int n = 1 ; n <= input ; n++){ for(int j = 0 ; j < input - n ; j++) System.out.print(" "); printXO(n); } } public static void printXO(int n){ if(n < 1){ return; } System.out.print("x"); for(int i = 1 ; i < n ; i++){ System.out.print("ox"); } System.out.println(); } }