一、解题思路
1.首先定义一个变量代表空格数,需要最外层循环没结束一次,空格数都要减一,要不然左边就变成直角了。
2. 定义一个外层循环代表层数和星星变化趋势。
3. 定义一个内层循环代表空格数。
4.定义一个内层循环代表星星数。
二、代码展示
/*
* Copyright (c) 2020, 2023, webrx.cn All rights reserved.
*
*/
/**
* <p>Project: jse2303 - For04</p>
* <p>Powered by webrx On 2023-07-11 16:52:34</p>
* <p>描述:<p>
*
* @author 简单遗忘 [814736551@qq.com]
* @version 1.0
* @since 17
*/
public class For04 {
public static void main(String[] args) {
//使用for循环输出菱形
//先定义一个空格数
int k = 10;
//最外层循环设置行数共19行
for (int i = 1; i < 20; i += 2) {
//每一行都有空格和星星组成每循环一次,空格数都要减1
k--;
//内部循环定义空格
for (int j = k; j >= 0; j--) {
System.out.print(" ");
}
//内部循环定义星星数
for (int n = 1; n <= i; n++) {
System.out.print("*");
}
//外层循环每循环一次要换一次行
System.out.println();
}
//上方代码就完成了菱形的上半部分,只需将上方代码复制一份,稍加改动即可完成整个菱形
for (int i = 17; i >= 1; i -= 2) {
//每一行都有空格和星星组成每循环一次,空格数都要减1
k++;
//内部循环定义空格
for (int j = k; j >= 0; j--) {
System.out.print(" ");
}
//内部循环定义星星数
for (int n = 1; n <= i; n++) {
System.out.print("*");
}
//外层循环每循环一次要换一次行
System.out.println();
}
}
}
三、代码运行截图