打印金字塔图案

JAVA语言程序设计基础篇p117,4.17,4.19的答案

编写程序,提示用户输入一个整数然后显示金字塔形状的图案。

import java.util.Scanner;


public class yy {
    public static void main(String[] arg){        
        Scanner input=new Scanner(System.in);
        System.out.print("please input a number :");
        int n=input.nextInt();        
        for(int i=1;i<=n;i++){
            //打印前半部分的空格
            for(int j=1;i+j<=n;j++){
                System.out.print("  ");
            }
            //打印中间的数字
            for(int k=i, num=1;num<=2*i-1;num++){
                System.out.print(k+" ");
                if(num<i){
                    k--;
                }else if(num>=i){
                    k++;
                }
            }
            //打印后半部分的空格
            for(int j=n+i;j<=2*n-1;j++){
                System.out.print("  ");
            }
            System.out.println();
        }
    }

}

 编写程序,打印有倍数关系的金字塔形的数字。

import java.util.Scanner;


public class yy1 {
    public static void main(String[] args){        
        Scanner input=new Scanner(System.in);
        System.out.print("please input a number :");
        int n=input.nextInt();        
        for(int i=1;i<=n;i++){
            //打印前半部分的空格
            for(int j=1;i+j<=n;j++){
                System.out.print("  ");
            }
            //打印中间的数字
            for(int k=1, num=1;num<=2*i-1;num++){                
                System.out.print(k+" ");                
                if(num<i){
                    k = k*2;
                }else if(num>=i){
                    k = k/2;
                }
            }
            //打印后半部分的空格
            for(int j=n+i;j<=2*n-1;j++){
                System.out.print("  ");
            }
            System.out.println();
        }
    }

}

 

 

posted on 2013-05-19 13:33  ywf—java  阅读(673)  评论(0编辑  收藏  举报

导航