专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » 多维数组:4.5.1 多维数组 »正文

多维数组:4.5.1 多维数组

来源: 发布时间:星期四, 2009年2月12日 浏览:178次 评论:0


在Java里可以方便地创建多维:

//: MultiDimArray.java // Creating multidimensional .gif' />s. import java.util.*; public MultiDimArray { Random rand = Random; pRand( mod) { Math.abs(rand.nextInt) % mod + 1; } public void (String args) { a1 = { { 1, 2, 3, }, { 4, 5, 6, }, }; for( i = 0; i < a1.length; i) for( j = 0; j < a1[i].length; j) prt("a1[" + i + "][" + j + "] = " + a1[i][j]); // 3-D .gif' /> with fixed length: a2 = [2][2][4]; for( i = 0; i < a2.length; i) for( j = 0; j < a2[i].length; j) for( k = 0; k < a2[i][j].length; k) prt("a2[" + i + "][" + j + "][" + k + "] = " + a2[i][j][k]); // 3-D .gif' /> with varied-length vectors: a3 = [pRand(7)]; for( i = 0; i < a3.length; i) { a3[i] = [pRand(5)]; for( j = 0; j < a3[i].length; j) a3[i][j] = [pRand(5)]; } for( i = 0; i < a3.length; i) for( j = 0; j < a3[i].length; j) for( k = 0; k < a3[i][j].length; k) prt("a3[" + i + "][" + j + "][" + k + "] = " + a3[i][j][k]); // Array of non-primitive objects: Integer a4 = { { Integer(1), Integer(2)}, { Integer(3), Integer(4)}, { Integer(5), Integer(6)}, }; for( i = 0; i < a4.length; i) for( j = 0; j < a4[i].length; j) prt("a4[" + i + "][" + j + "] = " + a4[i][j]); Integer a5; a5 = Integer[3]; for( i = 0; i < a5.length; i) { a5[i] = Integer[3]; for( j = 0; j < a5[i].length; j) a5[i][j] = Integer(i*j); } for( i = 0; i < a5.length; i) for( j = 0; j < a5[i].length; j) prt("a5[" + i + "][" + j + "] = " + a5[i][j]); } void prt(String s) { .out.prln(s); } } ///:~




用于打印代码里使用了length所以它不必依赖固定大小
个例子展示了基本数据类型个多维我们可用花括号定出内每个矢量边界:

a1 = {
{ 1, 2, 3, },
{ 4, 5, 6, },
};

每个方括号对都将我们移至
第 2个例子展示了用分配个 3维在这里整个都是立即分配:
a2 = [2][2][4];
但第 3个例子却向大家揭示出构成矩阵每个矢量都可以有任意长度:

a3 = [pRand(7)]; for( i = 0; i < a3.length; i) { a3[i] = [pRand(5)]; for( j = 0; j < a3[i].length; j) a3[i][j] = [pRand(5)]; }


对于第创建个元素长度是随机其他元素长度则没有定义for循环内第 2个则会填写元素但保持第 3个索引未定状态——直到碰到第 3个
根据输出结果大家可以看到:假若没有明确指定化值值就会自动化成零
可用类似表式处理非基本类型对象这从第 4个例子可以看出它向我们演示了用花括号收集多个表达式能力:

Integer a4 = { { Integer(1), Integer(2)}, { Integer(3), Integer(4)}, { Integer(5), Integer(6)}, };


第 5个例子展示了如何逐渐构建非基本类型对象:

Integer a5; a5 = Integer[3]; for( i = 0; i < a5.length; i) { a5[i] = Integer[3]; for( j = 0; j < a5[i].length; j) a5[i][j] = Integer(i*j); }


i*j只是在Integer里置了个有趣
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: