java代码实现打印菱形

来源:互联网 发布:国产女装品牌知乎 编辑:程序博客网 时间:2024/04/30 18:01

打印空心菱形:

public class Demo1 {    public static void main(String[] args) {        Demo1.PrintStar(9); //这里输入想要打印的菱形的边数                }    public static void PrintStar(int n) {        int up = (n + 1) / 2;        int down = n - up;        //打印上半部分        for (int i = 1; i <= up; i++) {//上半部分长度            //输出上半部分的左半部分的空格            for (int j = i; j < up; j++) {                System.out.print(" ");            }            //输出上半部分的右半部分            for (int k = 1; k <= 2 * i - 1; k++) {                if (k == 1 || k == 2 * i - 1) {                    System.out.print("*");                } else {                    System.out.print(" ");                }            }            System.out.println();        }        //打印下半部分        for (int i = down; i >= 1; i--) {  //下半部分的层数            //打印下半部分的空行            for (int j = i; j <= down; j++) {                System.out.print(" "); //第4层要i个空行            }            for (int k = 1; k <= 2 * i - 1; k++) {                if (k == 1 || k == 2 * i - 1) {                    System.out.print("*");                } else {                    System.out.print(" ");                }            }            System.out.println();        }    }}

打印实心菱形

public class Demo3 {    public static void main(String[] args) {        Demo3.printStar(9); //这里写实心菱形的边数    }    private static void printStar(int num) {        int up = (num + 1) / 2;        int down = num - up;        //打印上半部分        for (int i = 1; i <= up; i++) {            //打印空格,第一行4个,第二行3个            for (int k = i; k < up; k++) {                System.out.print(" ");            }            //打印两边的* 一:1 二:1,3 三:1,5 无:1,9            for (int j = 1; j <= 2 * up - 1; j++) {                if (j>=1&& j<=2*i -1 ) {                    System.out.print("*");                } else {                    System.out.print(" ");                }            }            System.out.println();        }        //打印下半部分        for (int i = down; i >= 1; i--) { //下半部分的高度            //输出下半部分的空格 一:1,二:2            for (int k = i; k <= down; k++) {                System.out.print(" ");            }            //输出两边的空格 一: 1,7 二,1.5            for (int j = 1; j<=2*i - 1; j++) {                if (j>=1&& j<=2*i -1 ) {                    System.out.print("*");                } else {                    System.out.print(" ");                }            }            System.out.println();        }    }}
原创粉丝点击