java基础——for循环练习——图形的打印

For循环

for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体

第一个:等腰三角形的打印

实心等腰三角形
/*
 * 打印等腰三角形:An isosceles triangle
 */
public static void anIsoscelesTriangle() {
int n = new Scanner(System.in).nextInt();
	for(int i = 1;i<=n;i++) {
		for(int j = n-i;j>=0;j--) {
			System.out.print(" ");
		}
		for(int k = 1;k<=2*i-1;k++) {
			System.out.print("*");
		}
		System.out.println();
	}
}

在这里插入图片描述

空心的等腰三角形
/*
	 * 打印空心等腰三角行
	 */
	public static void skySanjiaoxing() {
	int n = new Scanner(System.in).nextInt();           //打印三角行的高度
		for(int i = 1;i<=n;i++) {           //控制三角行的行数
			for(int j = 1;j<=n-i;j++) {     //第一个*前的空格
				System.out.print(" ");
				}
			System.out.print("*");
			if(i!=n) {              //判断是否是最后一行
				for(int j = 1;j<=(i-2)*2+1;j++) {     //不是,打印第一个*后的空格
					System.out.print(" ");
				}
				if(i!=1) {
					System.out.print("*");
				}
				System.out.println();
				
			}else {
				for(int m =1;m<=2*(i-1);m+=2) {    //打印最后一行
					System.out.print("* ");
				}
			}
			}
		
	}

在这里插入图片描述

打印直角三角形

实心的直角三角形
/*
	 * 打印直角三角行 :Right triangle row
	 */
	public  static void rightTriangleRow(){
		int ss = new Scanner(System.in).nextInt();
		for(int i = 0; i<=ss;i++) {
			for(int j = 0;j<=i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

在这里插入图片描述

空心直角三角形

/*
	 *打印空心直角三角形 
	 */
	public static void skyzhijiaosanjiaoxing() {
	int n = new Scanner(System.in).nextInt();  //打印三角行的高度
		for(int i = 1;i<=n;i++) {           //控制三角行的行数
			for(int j = 1;j<=n-1;j++) {     //第一个*前的空格
				System.out.print(" ");
				}
			System.out.print("*");
			if(i!=n) {              //判断是否是最后一行
				for(int j = 1;j<=(i-2)*2+1;j++) {     //不是,打印第一个*后的空格
					System.out.print(" ");
				}
				if(i!=1) {
					System.out.print("*");
				}
				System.out.println();
				
			}else {
				for(int m =1;m<=2*(i-1);m+=2) {    //打印最后一行
					System.out.print("*");
				}
			}
			}
	}

在这里插入图片描述

打印菱形

打印实心菱形
public static void solidDiamond() {
		//int n = new Scanner(System.in).nextInt();
        for(int i=1;i<=5;i++)
        {
        //将空格和*分开看,看" "的变化i=1时,他是4 ,2的时候是3找规律
            for(int j=1;j<=5-i;j++)
              System.out.print(" ");
            for(int k=1;k<=2*i-1;k++)//找规律,i是 1 3 5 7 基数嘛
              System.out.print('*');
            //换一行
            System.out.println();
        }
         for(int i=1;i<=5-1;i++)
        {
            for(int j=1;j<=i;j++)//空格 1 2 3 4 so
              System.out.print(" ");
            for(int k=7;k>=2*i-1;k--)//* 7 5 3 1倒着来的基数
              System.out.print('*');
              System.out.println();
        }
	}

在这里插入图片描述

打印空心的菱形
   /*
	 * 打印空心菱形
	 */
	public static void skyDiamod() {
		int num = new Scanner(System.in).nextInt();
	        for(int i=1;i<=num;i++){
	            for(int j=1;j<=num-i;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=1;i<num;i++){
	             for(int j=1;j<=i;j++)
	                  System.out.print(" ");
	             int count = 2*(num-i)-1; 
	             for(int k=0;k<count;k++)   {  
	                 if(k==0||k==count-1)    
	                     System.out.print("*");  
	                 else     
	                     System.out.print(" "); 
	                 }
	             System.out.println("");  
	             } 
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值