首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我要获取数组的地址而不是值(二维数组)

为什么我要获取数组的地址而不是值(二维数组)
EN

Stack Overflow用户
提问于 2012-03-29 08:13:28
回答 4查看 1.2K关注 0票数 1

5导入java.util.*;6 7类矩阵{8 //声明成员字段9私有int矩阵;10 12公共矩阵( int a,int b,int c,int d) { 13矩阵=新int2;14矩阵= a;15矩阵= b;16 matrix1 = c;17 matrix1 = d;18 } 19 //恒等矩阵20公共矩阵(charⅠ){ 21矩阵=新int2;22矩阵= 1;23矩阵= 0;24 matrix1 = 1;25 matrix1 = 0;26 } 27 29公共int toPow(int n,int矩阵){ 30 if (n == 1) 31返回矩阵;[ 32 ]{ 33 int temp =矩阵;34表示(int i= 0;i< 2;i++) { 35表示(int j= 0;j< 2;j++) { 36 temp +=矩阵* this.matrixj;37 } 38 } 39返回toPow(n - 1,temp);40 } 41 } 42公共int toPow(int n) { 43返回toPow(n,this.matrix);44 } 45 } 46类数学{ 48 49公共静态空主(String[] args) { 55矩阵m=新矩阵(1,2,3,4);56 toPow57 System.out.println(新的int {1,2},{3,4});58 } 59 }

当调用时,Arrays.toString(数组)应该打印出数组的内容。但是,当我试图在代码的最后2行中打印数组时,我得到的是地址而不是内容。有人能帮我理解一下为什么吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-29 08:16:12

您将看到对顶级数组的每个元素调用toString()的结果。但是每个元素本身都是一个数组。使用Arrays.deepToString()代替:

代码语言:javascript
复制
System.out.println(Arrays.deepToString(m.toPow(2)));
票数 5
EN

Stack Overflow用户

发布于 2012-03-29 08:15:51

Arrays.toString()只适用于一维数组.尝试对数组的行进行迭代,并对每一行分别使用Arrays.toString()

票数 1
EN

Stack Overflow用户

发布于 2012-03-29 08:18:21

Arrays.toString (int[])支持数组(一维),而不是矩阵(二维)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9921496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档