如何使用JAVA打印菱形(三)空心菱形基础上加上对角线

本文介绍了一种在Java中打印带有十字对角线的空心菱形图案的方法。通过简单的循环和条件判断,实现了不同大小的菱形图案,并在菱形的对角线上填充星号以形成十字形状。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当掌握了我之前文章的前两种菱形的打印方法后,是否会感觉到so easy。那么我们加大难度,在空心菱形的基础上,再打印出一个“十字”,也就是把空心菱形的对角线打满星星。

具体代码如下:

public class HollowDiamondPlus {
public static void main(String[] args) {
/*
* 说过说在我前面讲了的两中菱形都掌握了的话,那么我认为加一个难度的话,就是在空心菱形里加一个十字
* 这个加十字的方法其实有很多,我在这里主要介绍一下我的方法。
* 在第n行的时候(也就是你一开始输入的那个数即菱形的边长),是一排星号打印过去的。
* 在除了行数等于边长的那一行外,在每行需要打印星星的代码出开始,
*  第一个地方,末尾那个地方,以及行数的地方都要打印星星。
* 其余的地方就只好依然是打印一个空格了。
*/
Scanner input = new Scanner(System.in);
boolean boo = true;
do {
System.out.println("请输入一个数");


int n = input.nextInt();
// 上半部分
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}


if (i == n) {// 第n行打满星星的地方
for (int k = 1; k < 2 * n; k++) {


System.out.print("*");


}
} else {// 非n行打印星星的地方
for (int j = 1; j <= (2 * i - 1); j++) {


if (j == 1 || j == (2 * i - 1) || j == i) {
System.out.print("*");
} else {
System.out.print(" ");
}


}


}
System.out.println();
}
// 下半部分


for (int i = n - 1; i > 0; i--) {


for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}


// 非n行打印星星的地方
for (int j = 1; j <= (2 * i - 1); j++) {


if (j == 1 || j == (2 * i - 1) || j == i) {
System.out.print("*");
} else {
System.out.print(" ");
}


}


System.out.println();
}


System.out.println("要继续么?(Y/N)");
String str = input.next();
if (str.equals("Y")) {
boo = true;
} else {
boo = false;
}
} while (boo);


System.out.println("程序结束!!!");
}
}


打印出的结果如下,看起来对角线貌似密了一些,如果让对角线每隔一个空格打印一个星星呢?这样看起来会舒服一些,具体代码见下一个同系列的文章。


为了深入掌握如何使用pyecharts和wordcloud库生成图进行数据分析可视化,推荐您参考《历年考研分数线的数据分析与可视化教程》。这份资源不仅包含了实际的数据集和源码,而且详细指导了如何实现可视化过程,非常适合想要了解并掌握从数据分析到可视化输出的整个流程的学习者。 参考资源链接:[历年考研分数线的数据分析与可视化教程](https://wenku.youkuaiyun.com/doc/43pq9qt1cc) 创建图通常涉及到几个关键步骤,以下是基于Python进行图创建的详细步骤和代码示例: 1. 准备工作:确保已经安装了必要的Python库,包括pyecharts和wordcloud。可以使用pip命令安装:`pip install pyecharts wordcloud`。 2. 加载数据:首先,你需要有一个包含需要可视化的关键的数据集。假设数据以字符串列表的形式给出。 3. 数据处理:为了生成,通常需要对数据进行一些预处理,比如去除停用、标点符号、空格等。 4. 创建对象:使用wordcloud库创建一个对象,并设置合适的参数,如背景颜色、最大数、字体大小范围、停用列表等。 5. 绘制图:调用对象的generate方法,传入处理好的文本数据,然后使用to_image方法将对象转换为图片。 6. 可视化展示:如果需要,可以使用pyecharts库进一步将生成的图进行展示。pyecharts提供了丰富的图表类型和配置项,可以根据需要自定义图表的样式和展示效果。 下面是一个简单的代码示例: ```python from wordcloud import WordCloud from PIL import Image import matplotlib.pyplot as plt from pyecharts.charts import Image from io import BytesIO # 假设这是我们的关键数据集 keywords = ['Python', '数据分析', '可视化', '教育', '项目', '图', '练习'] # 数据预处理(可选) # ...(此处省略了数据预处理代码) # 创建对象 wordcloud = WordCloud( background_color='white', # 背景颜色 max_words=200, # 最大显示的数 mask=None, # 不使用mask font_path='path/to/your/font.ttf' # 指定字体路径 ).generate(' '.join(keywords)) # 将图转换为图片 image = Image() image.add_image(plt.imshow(wordcloud, interpolation='bilinear')) # 将图片转换为可展示的格式 buffer = BytesIO() wordcloud.to_image().save(buffer, format='PNG') buffer.seek(0) # 使用pyecharts展示图 image.render_embed() # 显示图 plt.imshow(wordcloud, interpolation='bilinear') plt.axis('off') # 不显示坐标轴 plt.show() ``` 上述代码展示了如何使用wordcloud库生成图,并使用matplotlib和pyecharts库进行展示。通过这样的步骤,你可以将任何数据集中的关键图的形式直观地展现出来。 在掌握了图的基本制作方法后,你可以尝试更多的扩展功能,如自定义形状、添加动态效果等。此外,也可以探索pyecharts的其他图表类型,以满足不同的可视化需求。为了进一步深化对Python数据分析和可视化的理解,建议继续学习《历年考研分数线的数据分析与可视化教程》,该教程会为你提供更多的实践素材和深入的理论知识。 参考资源链接:[历年考研分数线的数据分析与可视化教程](https://wenku.youkuaiyun.com/doc/43pq9qt1cc)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值