如何使用长度为3的int数组定义3D数组尺寸并创建3D数组?
通过int数组创建三维char数组的实现方法
基础实现
首先修正你写的int数组初始化语法(Java中正确的写法是int[] size = {y, z, x};或int[] size = new int[]{y, z, x};),然后直接通过数组元素指定三维数组的各维度长度:
// 定义尺寸数组,顺序对应y、z、x int[] size = {2, 3, 4}; // 创建匹配尺寸的三维char数组 char[][][] map = new char[size[0]][size[1]][size[2]];
这段代码和char[][][] map = new char[2][3][4];完全等价,完美匹配你的需求。
可选:添加参数校验
如果需要防止因size数组长度错误导致的运行时异常,可以增加简单的校验逻辑:
int[] size = {2, 3, 4}; if (size.length != 3) { throw new IllegalArgumentException("size数组必须包含3个元素,对应y、z、x三个维度"); } char[][][] map = new char[size[0]][size[1]][size[2]];
原理说明
Java允许使用任意合法的int类型值(包括变量、数组元素)来指定多维数组的各维度长度。这里size[0]对应三维数组的第一维度(y),size[1]对应第二维度(z),size[2]对应第三维度(x),和直接写入常量的效果完全一致。
内容的提问来源于stack exchange,提问作者Oscar Lockard
相关产品推荐
相关产品推荐

