JAVA for循环创建单层空心菱形

这篇博客介绍如何使用Java编程实现空心菱形的绘制。通过for循环和if语句控制空格和星号的输出,每层的空格数由总层数决定,星号数量则根据空格数计算。用户可以通过输入层数来定制菱形大小。代码中使用Scanner类获取用户输入,整个过程详细展示了空心菱形的生成逻辑。
摘要由CSDN通过智能技术生成

首先,创建for循环,定义空心菱形的层数

分析实心菱形结构,以及空心菱形结构:

          

发现,菱形每层左边空格数 = (总层数+1)/2 - i 的绝对值,

每层星号"*"数量 = 总层数 - 每层左边空格数 * 2

接下来,用If语句进行判断,每层第一个、最后一个以及最后一层输出星号"*",其余用空格" "代替,

当每层循环结束后,需换行:

输出结果为:

 

当创建随意单层菱形时,可调用Scanner类,创建一个Scanner对象,用以输出想要的层数:

 完整代码如下:

import java.util.Scanner;
public class Switch{
	public static void main(String[] args) {
		Scanner myScanner = new Scanner(System.in);//创建Scanner对象
		System.out.println("请输入想创建菱形的层数:");
		int layer = myScanner.nextInt();//定义菱形层数
		for(int i = 1;i <= layer;i++){//菱形层数循环
			for(int k = 1;k <= Math.abs((layer+1)/2-i);k++){//菱形各层空格数
				System.out.print(" ");
			}
			for(int j = 1;j <= layer-Math.abs((layer+1)/2-i)*2;j++){//每层输出相应的星号*
				if(j == 1 || j ==layer-Math.abs((layer+1)/2-i)*2 || i == layer){//需输出的星号
					System.out.print("*");
				}else{//*中间替换的空格
					System.out.print(" ");
				}
			}
			System.out.print("\n");//换行
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值