JAVA流程控制语句-循环(循环嵌套实现打印直角三角形、九九乘法表、等腰三角形、倒置三角形、菱形)

循环嵌套

定义

就是循环语句中的循环体语句本身又是一个循环语句。

案例一 打印三行五列*

/*
我要在控制台上输入一个由*符号组成的图形
	*****
	*****
	*****	
*/
class Demo{
	public static void main(String[] args){
		for(int i = 1; i <= 3; i++){      //外层循环 行数
			for(int j = 1;j <= 5; j++){	  //内层循环 列数
				System.out.print("*");	  //内层打印5个*
			}
			System.out.println();		  //内层循环一次结束后换行
		}
	}
}

案例二 打印直角三角形

/*
我要用*在控制台上输出一个直角三角形
*
**
***
****
*****
分析:
	我们看到了一个5行列数是变化的图案
	我们可以先打印出5行5列的*图案	
*/
class ZhiJiao{
	public static void main(String[] args){
		for(int i = 1; i <= 5; i++){		//行数	
			for(int j = 1; j <= i;j++){		//列数(j<=i)
				System.out.print("*");
			}
			System.out.println();
		} 
	}
}

在这里插入图片描述

案例三 打印99乘法表

/*
打印99乘法表
1*1=1
1*2=2  2*2=4
1*3=3  2*3=6  3*3=9
....................
*/
class ChengFaBiao{
	public static void main(String[] args){
		for(int i = 1; i <= 9; i++){
			for(int j = 1; j <= i; j++){
				int k = i * j;
				System.out.print(j+"*"+i+"="+k+"\t");  //\t下个制表位(Tab)
			}
			System.out.println();
		}
	}
}

在这里插入图片描述

案例四 打印等腰三角形

	/*
		等腰三角形
			 *
			***
		   *****
		  *******
		 *********
	技巧:空格和*分开考虑
	*/
class DengYao{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("你想打印高为几的等腰三角形:");
		int row = sc.nextInt();					//键盘输入行数
		for(int i = 1; i <= row; i++){			//外层循环 行数
			for(int j = 1; j <= row-i; j++){		//空格打印次数 4 3 2 1
				System.out.print(" ");
			}
			for(int k = 1; k <= 2*i-1; k++){	//*打印次数    1 3 5 7 9
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

在这里插入图片描述

案例五 打印倒置三角形

class DaoSanJiao{
	public static void main(String[] args){
		//----------------------------------------------------------------
		/*
		打印倒置三角形
		*****
		****
		***
		**
		*
		*/
		Scanner sc = new Scanner(System.in);
		System.out.println("你想打印高为几的三角形:");
		int row = sc.nextInt();					//键盘输入行数
		for(int i = 1; i <= row; i++){			//外层循环 5
			for (int j = 1; j <= row+1-i; j++){	//内存循环 5 4 3 2 1
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

在这里插入图片描述

  • 案例六 打印菱形
class LingXing{
	public static void main(String[] args){
		//打印菱形
		for(int i = 1; i <= 5; i++){				//i     1 2 3 4       	i
			for(int j = 1; j <= 5 - i; j++){		//空格  4 3 2 1		  	5-i
				System.out.print(" ");				
			}
			for(int k = 1; k <= 2*i-1; k++){		//*		1 3 5 7 9		2*i-1
				System.out.print("*");				
			}
			System.out.println();
		}
		for(int i = 1; i <= 4; i++){				//i     1 2 3 4       	i
			for(int j = 1; j <= i; j++){			//空格  1 2 3 4		  	i
				System.out.print(" ");
			}
			for(int k = 1; k <= 2*(5-i)-1; k++){	//*		7 5 3 1			2*(5-i)-1
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

在这里插入图片描述

class LingXing{
	public static void main(String[] args){
		//打印菱形
		for(int i = 1; i <= 5; i++){
			for(int j = 1; j <= 5 - i; j++){
				System.out.print(" ");
			}
			for(int k = 1; k <= i; k++){
				System.out.print("* ");
			}
			System.out.println();
		}
		for(int i = 1; i <= 5; i++){
			for(int j = 1; j <= i; j++){
				System.out.print(" ");
			}
			for(int k = 1; k <= 5 - i; k++){
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}

在这里插入图片描述

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值