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

Java中如何正确声明初始化4×3的double类型二维数组scores

问题分析
  • 行列逻辑搞反:题目要求4行对应4名学生、3列对应3次考试,你错误将4名学生的第一次考试成绩全部存入了第一行(scores[0]),导致第一行长度为4,不符合每行3个元素的要求。
  • 每行长度不符合规范:剩下的3行你只初始化了1个元素,导致每行长度只有1,远达不到3列的要求,最终整个数组结构变成4行长度分别为4、1、1、1的不规则二维数组,和要求的4×3规则结构完全不符。
  • 写法不符合习题要求:习题明确要求使用嵌套初始化列表的方式完成初始化,你使用的是逐行动态分配的写法,不符合习题提示的格式要求。
正确实现
import java.util.Arrays;

public class ScoreTest {
    public static void main(String[] args) {
        // 嵌套初始化列表:外层4个元素对应4名学生,内层每个子数组3个元素对应3次考试
        // 每个子数组第一个元素为对应学生的第一次考试成绩,后两个位置统一填充-1
        double[][] scores = {
                {80.4, -1, -1},
                {96.2, -1, -1},
                {100.0, -1, -1},
                {78.9, -1, -1}
        };
        System.out.println(Arrays.deepToString(scores));
    }
}

运行输出结果为:
[[80.4, -1.0, -1.0], [96.2, -1.0, -1.0], [100.0, -1.0, -1.0], [78.9, -1.0, -1.0]]
完全符合4行3列的结构要求,也满足习题的初始化规则。

内容的提问来源于stack exchange,提问作者Jean Baptiste Asong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 01:00:02