我需要编写一个程序来打印以下输出
*
* * *
* * * *
但我的代码到现在为止打印
*
* *
* * *
我的代码是:
public class Pyramid2 {
public static void main(String[] args) {
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4 - i; j++) {
System.out.print(" ");
}
for (int k = 0; k < i; k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
答案 0 :(得分:0)
看起来很奇怪,但是不要为i = 1的值运行循环,理想情况下金字塔总是1,2,3 ......所以结构类型......
public static void main(String[] args) {
for (int i = 0 ; i < 4 ; i++) {
if (i != 1) {
for (int j = 0 ; j < 4 - i ; j++) {
System.out.print(" ");
}
for (int k = 0 ; k <= i ; k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
<强>输出强>
*
* * *
* * * *
答案 1 :(得分:0)
我同意分配中可能存在错误,并且三个单独的打印语句将是执行它的完美好方法。 似乎你也可以在if语句中滑动以从循环中排除带有两颗星的行。
答案 2 :(得分:0)
请检查下部Piramid部分,我正在做其他答案,但现在已关闭。所以一旦希望它可以帮助,请检查下面
// * * * * * * *
// * * * * *
// * * *
// *
// * * *
// * * * * *
// * * * * * * *
// Insert input for Total Use only odd Number
int total = 11, t = 0;
// Upper Piramid
for (int i = 0; i < total / 2; i++) {
t = 0;
for (int k = i; k > 0; k--) {
System.out.print(" ");
t++;
}
for (int j = 0; j < total - (t * 2); j++) {
System.out.print("*");
}
for (int j = 0; j < t; j++) {
System.out.print(" ");
}
System.out.println("");
}
total = total - (total / 2);
// Lower Piramid
for (int i = total; i > 0; i--) {
t = 0;
for (int j = i; j > 1; j--) {
System.out.print(" ");
t++;
}
for (int j = 0; j < total - t; j++) {
System.out.print("*");
}
for (int j = 1; j < total - t; j++) {
System.out.print("*");
}
for (int j = i; j > 1; j--) {
System.out.print(" ");
}
System.out.println("");
}