You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何输出含递增数字的下三角矩阵?程序输出空白求协助

解决下三角递增矩阵输出空白的问题

看起来你现在的核心问题是:现有代码只完成了行列数的输入校验和二维数组初始化,既没有给下三角区域填充递增数字,也没有编写任何打印矩阵的逻辑,所以运行后自然输出空白。我来帮你补全完整的实现,完全匹配你要的下三角递增矩阵需求:

完整代码示例

import java.util.Scanner;

public class LowerTriangleMatrix {
    public static void main(String[] args) {
        Scanner input_scanner = new Scanner(System.in);
        int rowsAndColumns = 0;

        // 你的原有输入校验逻辑
        while (rowsAndColumns < 4 || rowsAndColumns > 20) {
            System.out.print("How many rows and columns (min 4 & max 20)? ");
            rowsAndColumns = input_scanner.nextInt();
        }

        int[][] intMatrix = new int[rowsAndColumns][rowsAndColumns];
        int counter = 1; // 用于生成递增数字的计数器

        // 1. 给下三角区域填充递增数字
        for (int i = 0; i < rowsAndColumns; i++) {
            // 下三角的列号j <= 行号i,仅处理这些位置
            for (int j = 0; j <= i; j++) {
                intMatrix[i][j] = counter++;
            }
        }

        // 2. 打印输出下三角矩阵
        System.out.println("\n生成的下三角递增矩阵:");
        for (int i = 0; i < rowsAndColumns; i++) {
            for (int j = 0; j < rowsAndColumns; j++) {
                if (j <= i) {
                    // 用格式化输出保证数字对齐,让矩阵更整齐
                    System.out.printf("%3d", intMatrix[i][j]);
                } else {
                    // 非下三角区域输出空格占位,维持矩阵形状
                    System.out.print("   ");
                }
            }
            // 每行结束换行
            System.out.println();
        }

        input_scanner.close();
    }
}

关键逻辑说明

  • 填充下三角:通过嵌套循环定位下三角区域(列号≤行号的位置),用counter++实现数字从1开始递增赋值。
  • 格式化输出:使用%3d让每个数字占3个字符宽度,避免因数字位数不同导致矩阵错位;非下三角区域用空格占位,保证下三角的视觉效果。
  • 示例输出:当输入4时,输出效果如下:
1
  2  3
  4  5  6
  7  8  9 10

内容的提问来源于stack exchange,提问作者JSON_Derulo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:13:34