练习——打印菱形

  1. 打印菱形
    public class Test {
    	public static void main(String[] args) {
    			print07();
    	}
    	
    	//利用坐标轴解决打印菱形问题
    	public static void print07() {
    		char ch = 'I';
    		for(int x = -5;x<=5;x++) {
    			for(int y = -5;y<=5;y++) {
    				if((x>0?x:-x)+(y>0?y:-y)<=5) {
    					System.out.print((char)(ch+y));
    				}else {
    					System.out.print(" ");
    				}
    			}
    			System.out.println();
    		}
    	}
    	/**
    	 * *******
    	 */
    	public static void print01() {
    		System.out.println("*******");
    		//每次打印一个星星
    		for(int i = 1;i<=7;i++) {
    			System.out.print("*");
    		}
    		System.out.println();
    	}
    	/**
    	 * 矩形
    	 */
    	public static void print02() {
    		System.out.println("*******");
    		System.out.println("*******");
    		System.out.println("*******");
    		System.out.println("*******");
    		System.out.println("循环打印: 4行");
    		for(int i = 1;i<=4;i++) {
    			System.out.println("*******");
    		}
    		System.out.println("循环每次打印一个星星");
    		for(int i = 1;i<=4;i++) {//行数
    			for(int j = 1;j<=7;j++) {//星星个数
    				System.out.print("*");
    			}
    			System.out.println();
    		}
    		}
    	/**
    	*
    	*******
    	*******
    	*******
    	*******
    	*
    	*
    	* *
    	* ***
    	* *****
    	* *******
    	*
    	* 1 1
    	* 2 3
    	* 3 5
    	* 4 7
    	* n 2*n-1
    	*
    	*
    	*/
    	public static void print03() {
    		for(int i = 1;i<=4;i++) {//控制行数
    			for(int j = 1;j<=2*i-1;j++) {//控制星星个数的时候和行有关
    				System.out.print("*");
    			}
    			System.out.println();
    		}
    	}
    	/**
    	*
    	*
    	* *
    	* ***
    	* *****
    	* *******
    	* 行数 1 2 3 4 n
    	* 空格 3 2 1 0 总行数-n
    	* 星星 1 3 5 7 2*n-1
    	*
    	*
    	*/
    	public static void print04() {
    		for(int i = 1;i<=4;i++) {//控制行数
    			for(int k = 1;k<=4-i;k++) {//空格的个数
    				System.out.print(" ");
    			}
    			for(int j = 1;j<=2*i-1;j++) {//控制星星个数的时候和行有关
    				System.out.print("*");
    			}
    			System.out.println();
    		}
    	}
    	/**
    	*
    	*
    	* *
    	* ***
    	* *****
    	* *******
    	* 行数 1 2 3 4 n
    	* 空格 3 2 1 0 总行数-n
    	* 星星 1 3 5 7 2*n-1
    	*
    	*
    	* *****
    	* ***
    	* *
    	* 行数 3 2 1 n
    	* 空格 1 2 3 总行数-n
    	* 星星 5 3 1 2*n-1
    	*
    	*
    	*
    	*
    	*/
    	public static void print05() {
    		for(int i = 1;i<=4;i++) {//控制行数
    			for(int k = 1;k<=4-i;k++) {//空格的个数
    				System.out.print(" ");
    			}
    			for(int j = 1;j<=2*i-1;j++) {//控制星星个数的时候和行有关
    				System.out.print("*");
    			}
    			System.out.println();
    		}
    		for(int i = 3;i>=1;i--) {//控制行数
    		for(int k = 1;k<=4-i;k++) {//空格的个数
    			System.out.print(" ");
    		}
    		for(int j = 1;j<=2*i-1;j++) {//控制星星个数的时候和行有关
    			System.out.print("*");
    		}
    		System.out.println();
    		}
    	}
    	public static void print06() {
    		for(int i = 1;i<=4;i++) {//控制行数
    			for(int k = 1;k<=4-i;k++) {//空格的个数
    				System.out.print(" ");
    			}
    			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();
    		}
    		for(int i = 3;i>=1;i--) {//控制行数
    			for(int k = 1;k<=4-i;k++) {//空格的个数
    				System.out.print(" ");
    			}
    			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();
    		}
    	}
    }
    
    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值