大家可以关注一下专栏,方便大家需要的时候直接查找,专栏将持续更新~
题目描述:
编写一个Java程序,用于打印一个菱形图案。图案应该由星号(*)组成,从上到下逐渐增加,然后再从下到上逐渐减少。
程序需要输出如下图案:
解题思路:
- 确定图案的宽度和高度:图案的宽度由中间行(最大宽度)和两边逐渐减少的行决定。可以设定中间行为最大宽度,两边各减少一个星号。
- 打印上半部分:从中间行开始,逐渐向上打印,每行减少一个星号。
- 打印下半部分:从倒数第二行开始,逐渐向下打印,每行增加一个星号。
- 注意对齐:在打印时,需要注意每行的对齐,保证星号之间的空格数相同。
源码答案
public class DiamondPattern {
public static void main(String[] args) {
int maxWidth = 5; // 中间行的星号数,可根据需要调整
int lineCount = 2 * maxWidth - 1; // 总行数
// 打印上半部分
for (int i = 1; i <= maxWidth; i++) {
// 打印空格
for (int j = 1; j <= maxWidth - i; j++) {
System.out.print(" ");
}
// 打印星号
for (int j = 1; j <= i * 2 - 1; j++) {
System.out.print("*");
}
System.out.println(); // 换行
}
// 打印下半部分
for (int i = maxWidth - 1; i > 0; i--) {
// 打印空格
for (int j = 1; j <= maxWidth - i; j++) {
System.out.print(" ");
}
// 打印星号
for (int j = 1; j <= i * 2 - 1; j++) {
System.out.print("*");
}
System.out.println(); // 换行
}
}
}
输出结果
程序将输出如下菱形图案:
以上就是本次分享的所有内容,感兴趣的朋友点个关注呀,感谢大家啦~
更多Java | AI+编程玩法 的相关资料和源码请移步至公众号:程序员影子