我是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
答案 0 :(得分:7)
在打印符号之前,您需要打印空间。此外,您可以使用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();
}
答案 1 :(得分:0)
此方法使用星号字符绘制金字塔图案。您可以*用任何其他字符替换星号来绘制金字塔。
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();
}
}
答案 2 :(得分:0)
第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();
}
}
答案 3 :(得分:0)
使用变量来保留模式,这有助于摆脱不必要的循环。
StringBuffer pattern = new StringBuffer("x");
for(int i = 1 ; i <= 8; i++) {
for(int j = 8 ; j > i ; j--)
System.out.print(" ");
// print the pattern for current iteration before appending "ox"
System.out.print(pattern);
pattern.append("ox");
System.out.println("");
}
答案 4 :(得分:0)
不使用任何循环JavaScript
var subArray = (space, star, temp = '') => {
if (space + star <= 0) { return (temp); }
var arr = (temp.length < space+temp.length) ? ' ' : '*';
arr == '*' ? star = star-1 : space=space-1;
return subArray(space, star, (temp + arr));
}
var pascal = (size, sta = 1, x = 1) => {
if (x-1 == size) { return false }
console.log(subArray(size-x, sta));
pascal(size, sta+= 2, ++x);
}
pascal(10);