Java之金字塔大全

**

Java之金字塔大全

**
请编写一个程序,可以接收一个整数,表示层数,打印出金字塔一半。
***把一个复杂的问是先拆解成简单问题

在这里插入代码片请编写一个程序,可以接收一个整数,表示层数,打印出金字塔一半。[demo100.java]
***把一个复杂的问是先拆解成简单问题
//三角形[Demo100.java]
public class Demo100{
	public static void main(String []args){
		//死去活来法-->打四次
		int lay=4;
		//表示有多少层
		for(int i=1;i<=lay;i++){
			//打印*
			for(int j=1;j<=i;j++){
				System.out.print("*");
			}
			System.out.println();//换行
		}
	}
}
-------------------------------------------------------------------------------
//金字塔[Demo101.java]
public class Demo101{
	public static void main(String []args){
		int lay=10;//表示有多少层
		for(int i=1;i<=lay;i++){
			//找出规律
			//1->3 2->2 3->1 4->0找出空格
			for(int k=1;k<=lay-i;k++){
			System.out.print(" ");
			}
			//打印*
			//1->1 2->3 3->5 4->7找出星的规律
			for(int j=1;j<=(i-1)*2+1;j++){
				System.out.print("*");
			}
			System.out.println();//换行
		}
	}
}
-------------------------------------------------------------------------------
//镂空金字塔[Demo102.java]
public class Demo102{
	public static void main(String []args){
		int lay=10;//表示有多少层
		for(int i=1;i<=lay;i++){
			//找出规律
			//1->3 2->2 3->1 4->0找出空格
			for(int k=1;k<=lay-i;k++){
			System.out.print(" ");
			}
			//打印*
			//1->1 2->3 3->5 4->7找出星的规律
			for(int j=1;j<=(i-1)*2+1;j++){
				//判断该层是否是顶层或者是底层
				if(i==1||i==lay){
				System.out.print("*");
				}else{
					//如果是第一个*
					if(j==1||j==(i-1)*2+1){
					System.out.print("*");
					}else{
						System.out.print(" ");
					}
				}
			}
			System.out.println();//换行
		}
	}
}
-------------------------------------------------------------------------------
//空心菱形[Demo103.java]
public class Demo103{
	public static void main(String []args){
		int lay=4;//菱形上半部行数
		for(int i=1;i<=lay-1;i++){ //判断循环上半部分
			for(int k=1;k<=lay-i;k++){ //找行内*号前输出空格
				System.out.print(" ");
			}
			for(int j=1;j<=(i-1)*2+1;j++){ //找行内输出星的位置
				if(j==1||j==(i-1)*2+1){  //判断行最小长度和最大长度,并在最小长度和最大长度上输出*号,行内输入出空格。
					System.out.print("*");
				}else{
					System.out.print(" ");
				 }
			}
			System.out.println(); //换行
		}
		for(int i=1;i<=lay;i++){  //判断循环菱形下半部分
			for(int k=1;k<=i-1;k++){ //判断循环找*号前要输出空格处
				System.out.print(" ");
			}
			for(int j=1;j<=(lay-i)*2+1;j++){ //判断循环行长度
				if(j==1||j==(lay-i)*2+1){ //判断行最小长度和最大长度,并在最小长度和最大长度上输出*号,行内输入出空格。
					System.out.print("*");
				}else{
					System.out.print(" ");
				 }
			}
			System.out.println();//输出换行
		}
	}
}
-------------------------------------------------------------------------------
//实心菱形[Demo104.java]
public class Demo104{
	public static void main(String []args){
		int lay=4;//菱形上半部行数
		for(int i=1;i<=lay-1;i++){ //判断循环上半部分
			for(int k=1;k<=lay-i;k++){ //找行内*号前输出空格
				System.out.print(" ");
			}
			for(int j=1;j<=(i-1)*2+1;j++){ //找行内输出星的位置
				System.out.print("*");
			}
			System.out.println(); //换行
		}
		for(int i=1;i<=lay;i++){  //判断循环菱形下半部分
			for(int k=1;k<=i-1;k++){ //判断循环找*号前要输出空格处
				System.out.print(" ");
			}
			for(int j=1;j<=(lay-i)*2+1;j++){ //判断循环行长度
				System.out.print("*");
			}
			System.out.println();//输出换行
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_45754783

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值