【问题标题】:Simple java program of pyramid [closed]金字塔的简单java程序[关闭]
【发布时间】:2014-01-27 05:40:15
【问题描述】:

我是 Java 编程的初学者,我想打印一个金字塔,但由于编码错误,我没有得到满意的输出。

class p1 {
    public static void main(String agrs[]) {
        System.out.println("The Pattern is");
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                if (j <= i) {
                    System.out.print("  $");
                } else {
                    System.out.print("   ");
                }
            }
            System.out.println();
        }
    }
}

正在显示的

The Pattern is

  $            
  $  $         
  $  $  $      
  $  $  $  $   
  $  $  $  $  $

但我想打印

The Pattern is


        $            
       $  $         
      $  $  $      
     $  $  $  $   
    $  $  $  $  $ 

【问题讨论】:

标签: java


【解决方案1】:

此代码将打印一个金字塔。

public static void main(String[] args) {

     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("$ ");
        }
        System.out.println();  
    }

}

输出:

     $ 
    $ $ 
   $ $ $ 
  $ $ $ $ 
 $ $ $ $ $

【讨论】:

【解决方案2】:

试试这个

 public static void main(String[] args) 
{
     int x=11;
     int y=x/2; // spaces
     int z=1; // *`s

     for(int i=0;i<5;i++)
    {
         for(int j=0;j<y;j++)
        {
             System.out.print(" ");
        }
        for(int k=0;k<z;k++)
        {
            System.out.print("*");
        }

        y=y-1;
        z=z+2;
        System.out.println();  
    }

}

【讨论】:

  • 这与我的最佳答案相似,但不是我的答案,我使用的是 5x5 矩阵,其中显示此代码 ---------- 运行 -------- -- 模式是 * *** ***** ******* ******* 输出完成(消耗 0 秒)- 正常终止
【解决方案3】:

你可以这样试试。

   for(int a=5;a>0;a--){
        int b=0;
       for(b=0;b<a;b++){
           System.out.print(" ");
       }
        for (int j=b;j<5;j++){
            System.out.print(" $ ");
        }
        System.out.println("");

    }

输出

      $ 
     $  $ 
    $  $  $ 
   $  $  $  $ 

【讨论】:

    【解决方案4】:

     import java.util.Scanner;
        public class Print {
            public static void main(String[] args) {
                int row,temp,c,n;
                Scanner s=new Scanner(System.in);
                n=s.nextInt();
                temp = n;
                for ( row = 1 ; row <= n ; row++ )
                   {
                      for ( c = 1 ; c < temp ; c++ )
                        System.out.print(" ");
    
                      temp--;
    
                      for ( c = 1 ; c <= 2*row - 1 ; c++ )
                          System.out.print("*");
    
                      System.out.println("");
                   }
            }
    
        }
    

    【讨论】:

    • 就是金字塔
    【解决方案5】:

    这样可以打印出更好的金字塔:

    模式是 $ $$$ $$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$
    public static void main(String agrs[]) {
        System.out.println("The Pattern is");
        int size = 11; //use only odd numbers here
        for (int i = 1; i <= size; i=i+2) {
            int spaceCount = (size - i)/2;
            for(int j = 0; j< size; j++) {
                if(j < spaceCount || j >= (size - spaceCount)) {
                    System.out.print(" ");
                } else {
                    System.out.print("$");
                }
            }
            System.out.println();
        }
    }
    

    【讨论】:

      【解决方案6】:
      public static void showPyramid(int level)
      {
          for(int i=0;i<level;i++)
          {
              for(int j=0;j<level-i-1;j++)
              {
                  System.out.print(" ");
              }
              for(int k=level-i;k<=level;k++)
              {
                  System.out.print("*");
              }
              for(int k=level-i;k<level;k++)
              {
                  System.out.print("*");
              }
              for(int j=0;j<level-i;j++)
              {
                  System.out.print(" ");
              }
      
              System.out.print("\n");
          }
      
      }
      

      输出

           *          
          ***         
         *****        
        *******       
       *********      
      ***********     
      




      【讨论】:

        【解决方案7】:
        public static void printPyramid(int number) {
            int size = 5;
            for (int k = 1; k <= size; k++) {
                for (int i = (size+2); i > k; i--) {
                    System.out.print(" ");
                }
                for (int j = 1; j <= k; j++) {
                    System.out.print(" *");
                }
                System.out.println();
            }
        }
        

        【讨论】:

        • 输出 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
        猜你喜欢
        • 2015-09-17
        • 2018-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多