Java 使用 for 循环打印菱形图案 - 空心、实心和自定义大小
Java 使用 for 循环打印菱形图案
本文将使用 Java 的 for 循环语句实现打印不同类型的菱形图案,包括空心菱形、实心菱形以及根据用户输入的偶数数字自定义大小的菱形。
版本1:实现输出空心菱形
public class Diamond {
public static void main(String[] args) {
int rows = 5; // 菱形的行数
int mid = rows / 2 + 1; // 菱形中间行的位置
for (int i = 1; i <= rows; i++) {
// 打印空格
for (int j = 1; j <= Math.abs(mid - i); j++) {
System.out.print(' ');
}
// 打印星号
if (i == 1 || i == rows) {
System.out.print('*');
} else {
System.out.print('*');
for (int k = 1; k <= 2 * (i - 2) + 1; k++) {
System.out.print(' ');
}
System.out.print('*');
}
System.out.println(); // 换行
}
}
}
输出结果:
*
* *
* *
* *
* *
* *
* *
* *
*
版本2:实现输出实心菱形
public class Diamond {
public static void main(String[] args) {
int rows = 5; // 菱形的行数
int mid = rows / 2 + 1; // 菱形中间行的位置
for (int i = 1; i <= rows; i++) {
// 打印空格
for (int j = 1; j <= Math.abs(mid - i); j++) {
System.out.print(' ');
}
// 打印星号
for (int k = 1; k <= 2 * Math.abs(mid - i) + 1; k++) {
System.out.print('*');
}
System.out.println(); // 换行
}
}
}
输出结果:
*
***
*****
*******
*********
*******
*****
***
*
版本3:根据输入数字输出菱形
import java.util.Scanner;
public class Diamond {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个偶数数字:");
int num = scanner.nextInt();
if (num % 2 == 0) {
int rows = num / 2; // 菱形的行数
int mid = rows + 1; // 菱形中间行的位置
for (int i = 1; i <= rows; i++) {
// 打印空格
for (int j = 1; j <= mid - i; j++) {
System.out.print(' ');
}
// 打印星号
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print('*');
}
System.out.println(); // 换行
}
for (int i = rows; i >= 1; i--) {
// 打印空格
for (int j = 1; j <= mid - i; j++) {
System.out.print(' ');
}
// 打印星号
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print('*');
}
System.out.println(); // 换行
}
} else {
System.out.println("输入数字不是偶数!");
}
}
}
输出结果:
请输入一个偶数数字:8
*
***
*****
*******
*********
*******
*****
***
*
注意:
- 以上代码中的
System.out.print(' ');和System.out.print('*');分别用于打印空格和星号。 - 每个循环的嵌套层级决定了菱形的形状和大小。
- 您可以根据需要修改代码中的变量值来调整菱形的尺寸和外观。
- 版本3 中,输入的数字必须为偶数才能正常输出菱形。
原文地址: https://www.cveoy.top/t/topic/j8J4 著作权归作者所有。请勿转载和采集!