Print Pyramid

来源:互联网 发布:淘宝贝幼儿园收费 编辑:程序博客网 时间:2024/04/28 00:12

import java.util.Arrays;/* * print a Pyramid constitute by * */public class Pyramid {/* * entry of the program */public static void main(String[] args){ printPyramid(21,'*');}    /*     * print a Pyramid     *      * @param bottom_width, the width of the bottom of Pyramid, should be odd     *      * @param ch, the character that constitute Pyramid     */    private static void printPyramid(int bottom_width, char ch){    if(bottom_width < 1 || bottom_width % 2 == 0){throw new IllegalArgumentException();    }    int height = bottom_width /2 +1; // height of Pyramid    for(int i=0; i<height; i++){    int width = i*2+1; //width of current level    System.out.println(getLevel(bottom_width,width,ch));    }    }/* * print one line of Pyramid *  * @param bottom_width, the width of Pyramid *  * @param width, the width of current level *  * @param ch, character *  * @return, one line of Pyramid */private static String getLevel(int bottom_width, int width, char ch){int space_width = (bottom_width - width)/2; //the width of space in current linereturn expand(' ', space_width) + expand(ch,width);}/* * generate a String that contain several characters *  * @param c, the characters that forms the String *  * @param width, the length of the String *  * @return, the String generates */private static String expand(char c, int width){char[] chars = new char[width];Arrays.fill(chars, c);return new String(chars);}}

Summary

1.类的结构

 public static void main, main里调用了函数, public static void main(String[] args)。。。

 private 其它function的函数,这些函数被main调用


2.判断条件,抛出异常

throw new IllegalArgumentException();

3.用字符串生成string

char[] chars = new char[width];

Arrays.fill(chars, c);


原创粉丝点击