黑马程序员技术交流社区
标题:
数组输出的问题
[打印本页]
作者:
彭璞
时间:
2012-11-27 19:09
标题:
数组输出的问题
本帖最后由 彭璞 于 2012-11-27 21:23 编辑
为什么数组这样输出是错的,老是受c语言中指针的影响:
int[] arr1 = new int[3];
int[][] arr2 = new int[3][4];
System.out.println(arr[]);
System.out.println(arr[][]);
作者:
李刚
时间:
2012-11-27 19:16
int[] arr1 = new int[3];
int[][] arr2 = new int[3][4];
System.out.println(arr1);
System.out.println(arr2);
是这样吧,但是你想输出里面的元素只能用for循环遍历了
作者:
齐银春
时间:
2012-11-27 19:19
直接输出arr你试试,不要后面的[]
作者:
qianfancy
时间:
2012-11-27 19:24
int[] arr1=new arr1[3]
int[][] arr2 = new int[3][4];
System.out.println(arr[]);
System.out.println(arr[][]);
第一 你只是定义了 数组大小,没定义值 所以 是空的
第二 要显示 必须这样
for (int i=0;i<arr1.length();i++){
System.out.println(arr1[i]);
}
arr2 这样写
for (int i=0;i<3;i++){
for (int j=0;j<4;j++){
System.out.println(arr2[i][j]);
}
}
作者:
杨千里
时间:
2012-11-27 19:32
编译会通过吗?
(}EI4NX5_5]1HRH$T5FE8}L.jpg
(15.11 KB, 下载次数: 39)
下载附件
2012-11-27 19:31 上传
作者:
韩俊杰
时间:
2012-11-27 19:43
int[] arr1 = new int[3];
int[][] arr2 = new int[3][4];
System.out.println(arr[]);
System.out.println(arr[][]);
这样输出肯定是不行的,要想输出的话[]中必须有表达式,也就是角标,但是角标不能是数组的最大角标,因为会出现数组越界的错误,
还有就是输出的话值肯定是0,因为你只是定义了数组,却没有赋值,所以默认值都是0
作者:
黑_礼_服
时间:
2012-11-27 20:51
只开辟了一个数组空间 数组内没有值 如果输出数组里面的值必须按数组索引输出 这么输出肯定会报错
指定下标输出就没什么问题
作者:
陈山
时间:
2012-11-29 22:29
你要打印数组变量的话,就这样: int[] arr1 = new int[3];
int[][] arr2 = new int[3][4];
System.out.println(arr1);
System.out.println(arr2);
打印的是数组变量所对应的地址值
我想你是想打印数组元素吧,代码如下:
int[] arr1 = new int[3];
int[][] arr2 = new int[3][4];
for(int i=0;i<arr1.length;i++){
System.out.println(arr1[i]);
}
for(int i=0;i<arr2.length;i++){
for(int j=0;j<4;j++){
System.out.println(arr2[i][j]);
}
}
因为你只是创建了数组,并没有给其中的元素赋值,所以打印出来的是元素对应类型的默认值“0”.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2