黑马程序员技术交流社区
标题:
一个简单的数组打印程序【已解决】
[打印本页]
作者:
宋浩
时间:
2012-6-10 23:16
标题:
一个简单的数组打印程序【已解决】
本帖最后由 宋浩 于 2012-6-11 15:00 编辑
public class Test{
public static void main(String args[]){
int[] number={2,3,5,7,11,13};
System.out.println(number);
}
}
一个很简单的数组打印程序,运行结果是[I@de6ced,为什么不是[2,3,5,7,11,13]啊?
如果要打印成那样的结果,必须一个一个遍历数组元素吗?感觉好麻烦
。
作者:
李海
时间:
2012-6-10 23:20
肯定啊 你答应的数组的地址啦 如果要打印数组中的元素 必须使用数组的角标来进行
作者:
赵兵锋
时间:
2012-6-10 23:32
ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(2,3,5,7,11,13));//将数组包装成ArrayList
System.out.println(list);//ArrayList自己重写了toString方法,会打印出元素
输出:
[2, 3, 5, 7, 11, 13]
复制代码
作者:
张立江
时间:
2012-6-11 00:01
直接打印number,就打印出了数组在内存中的hashCode,
视频看到后面你会用到非常给力的工具,数组转集合(Arrays.asList()),具体用法,藤椅同学已经给出了
希望能帮到你
作者:
淡然
时间:
2012-6-11 01:13
本帖最后由 淡然 于 2012-6-11 01:18 编辑
操作数组一定不要忘了工具类啊,Arrays很强大的!
它有个方法:
static String toString(int[] a) 返回指定数组内容的字符串表示形式。可以让满足你的需求。
API文档摘要:
java.util
类 Arrays
java.lang.Object
java.util.Arrays
--------------------------------------------------------------------------------
public class Arraysextends Object此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。
除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException。
import java.util.Arrays;
public class Test{
public static void main(String args[]){
int[] number={2,3,5,7,11,13};
System.out.println(Arrays.toString(number));//static String toString(int[] a) 返回指定数组内容的字符串表示形式。
}
}
复制代码
输出结果为:
D:\>javac Test.java
D:\>java Test
[2, 3, 5, 7, 11, 13]
作者:
胡卿
时间:
2012-6-11 07:32
class TestN{
public static void main(String args[]){
int[] number={2,3,5,7,11,13};
// System.out.println(number);//输出的地方写成number,这样就会打成数组地址,应写成number[],所以应该改成下面的内容,就没问题了
System.out.print("number=[");
for(int x=0;x<number.length;x++)
{
System.out.print(number[x]+",");
}
System.out.print("]");
}
}
复制代码
作者:
一生一世
时间:
2012-6-11 08:12
同学,你以为这是javascript呀,这是java呀,java是一种面向对象的强类型语言,你这么搞是不对地,要是在javascript里面搞就是对滴,上面的兄弟都该给力了,已经告诉你答案了,我就不再重复了
作者:
逝去的记忆ヽ
时间:
2012-6-11 09:10
在这段代码中你打印的是数组的地址值,要想打印出来数组的话,只能去遍历数组,利用角标。
要不然就是利用强大的ArrayList把数组包装起来,再直接打印的话就没错了。
在后面的学习资料中你会用到很强大的数据库方法。
希望对你有帮助。
作者:
余清兰
时间:
2012-6-11 12:11
数组实际是在堆内存中存的元素的角标,要获取数组中的元素内容,必须要用遍历把角标遍历一次才取出元素内容,你这里是直接打印的是角标,数组存在堆内存中会有一个地址值,所以打印出来的结果是[I@de6ced [代表一维数组,de6ced代表地址值。
若要获取元素内容,代码如下:
class Test
{
public static void main(String args[])
{
int[] number={2,3,5,7,11,13};
for (int x=0; x<number.length ;x++) //number.length是java中的一个属性,在计算arr这个数组的元素个数。
{
System.out.println("number["+x+"]="+number[x]+";"); //这种格式才是打印出元素内容,通过每一个元素对应一个角标的原理。
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2