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

如何打印矩阵的行列标题?Java锦标赛积分表标题添加求助

解决矩阵行列标题打印问题(附Java锦标赛积分表示例)

嘿,我来帮你搞定这两个问题!先从你具体的锦标赛积分表需求入手,再总结通用的矩阵行列标题打印方法~

一、你的Java锦标赛积分表解决方案

你遇到的问题是没有把行列标题和积分数据关联起来打印,我们可以把标题单独存成数组,然后配合格式化输出实现整齐的表格。这里给你修改后的完整代码:

public class TorneoPuntajes {
    // 定义列标题(Dom 1-Dom 4)和行标题(队伍名称)
    private static final String[] DOM_TITLES = {"Dom 1", "Dom 2", "Dom 3", "Dom 4"};
    private static final String[] EQUIPOS = {
        "Mario Mort y Chepita",
        "Chunche y Lichita",
        "Porcionsón y Mary",
        "Maikol Jordan y Paty"
    };
    private static int[][] puntajes = new int[4][4]; // 4支队伍 × 4个Dom

    public static void main(String[] args) {
        cargarPuntajes(); // 填充积分数据
        imprimirPuntajeTorneo(); // 打印带标题的完整积分表
    }

    // 填充各队伍的积分数据
    public static void cargarPuntajes() {
        puntajes[0][0] = 45;
        puntajes[0][1] = 22;
        puntajes[0][2] = 50;
        puntajes[0][3] = 30;

        puntajes[1][0] = 55;
        puntajes[1][1] = 49;
        puntajes[1][2] = 66;
        puntajes[1][3] = 60;

        puntajes[2][0] = 40;
        puntajes[2][1] = 38;
        puntajes[2][2] = 47;
        puntajes[2][3] = 70;

        puntajes[3][0] = 65;
        puntajes[3][1] = 70;
        puntajes[3][2] = 70;
        puntajes[3][3] = 65;
    }

    // 打印带标题的积分表
    public static void imprimirPuntajeTorneo() {
        // 1. 打印列标题:前面留空对齐队伍名称
        System.out.printf("%-25s", ""); // 队伍名称占25字符宽度,左对齐
        for (String dom : DOM_TITLES) {
            System.out.printf("%-10s", dom); // 每个Dom标题占10字符宽度
        }
        System.out.println();

        // 可选:打印分隔线,让表格更清晰
        System.out.printf("%-25s", "");
        for (int i = 0; i < DOM_TITLES.length; i++) {
            System.out.printf("%-10s", "----------");
        }
        System.out.println();

        // 2. 逐行打印:队伍名称 + 对应积分
        for (int i = 0; i < EQUIPOS.length; i++) {
            System.out.printf("%-25s", EQUIPOS[i]); // 先打印队伍名
            // 打印当前队伍的所有积分
            for (int puntaje : puntajes[i]) {
                System.out.printf("%-10d", puntaje); // 积分占10字符宽度
            }
            System.out.println();
        }
    }
}

代码关键点说明:

  • 分离标题与数据:把行列标题单独存为数组,和积分矩阵的索引一一对应,方便遍历打印
  • 格式化输出:用printf的格式符(比如%-25s)控制元素宽度并左对齐,避免因字符串/数字长度不一导致表格错位
  • 打印顺序:先列标题(左侧留空对应行标题),再逐行打印行标题+积分,符合表格阅读习惯

二、通用的矩阵行列标题打印方法

不管用什么语言,打印带行列标题的矩阵核心思路都是一致的,步骤如下:

  • 准备标题数组:创建两个数组,分别存储行标题和列标题,长度要和矩阵的行数、列数匹配
  • 打印列标题:如果行标题在左侧,先打印一个和行标题宽度一致的空占位,再遍历列标题数组逐个输出
  • 逐行打印内容:遍历行标题数组,先打印当前行的标题,再遍历矩阵对应行的所有元素,逐个输出
  • 优化对齐:用格式化工具控制每个元素的宽度,保证表格整齐;也可以添加分隔线增强可读性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:57:26