Dotcpp  /  试卷列表  /  Java  /  题目 8035

利用数组打印菱形

利用数组打印菱形

答案
public class DiamondArray {
    public static void main(String[] args) {
        int n = 5; // 菱形上半部分的行数
        // 创建一个二维字符数组,行数为 2n-1
        char[][] diamond = new char[2 * n - 1][];
        int rows = 2 * n - 1;
        
        // 给每一行分配空间(行宽为 2n-1)
        for (int i = 0; i < rows; i++) {
            diamond[i] = new char[2 * n - 1];
        }
        
        // 填充菱形
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < 2 * n - 1; j++) {
                int space = Math.abs(n - 1 - i); // 距离中间行的距离
                if (j >= space && j < 2 * n - 1 - space) {
                    diamond[i][j] = '*';
                } else {
                    diamond[i][j] = ' ';
                }
            }
        }
        
        // 打印菱形
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < diamond[i].length; j++) {
                System.out.print(diamond[i][j]);
            }
            System.out.println();
        }
    }
}

题目信息

题号:8035
题型:简答题
知识点:Java
难度:普通