画一个金字塔的星星

时间:2014-11-08 13:51:59

标签: java loops

我需要编写一个程序来打印以下输出

            * 
          * * *
         * * * *

但我的代码到现在为止打印

                      * 
                     * * 
                    * * * 

我的代码是:

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();
        }
    }
}

3 个答案:

答案 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("");
        }