如何打印这个金字塔图案?
我是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(); } }