为何下述代码总是输出:[I@129f3b5public class test21 {
public static void main(String args[]) {
test21 t = new test21();
System.out.println(t.show("a"));
}

public int[] show(String str){
int[] a = new int[10];
for(int i=0; i<10; i++)
a[i] = 1;
return a;
}
}

解决方案 »

  1.   

    a 是int[] 数组 不能直接输出
    试试System.out.println(Arrays.toString(t.show("a")));
      

  2.   

    返回的是数组 数组的toString是比较特殊点。。
    你要么转成List再直接输出 要么就遍历数组输出
      

  3.   

    我是java菜鸟,运行了楼主的程序结果是de6ced(这不是重点,呵呵)
    LZ想要的应该是打印一个数组吧,显然,这样打印数组是不对的,我贴出了我的代码test21 t = new test21();
    int[] abc=t.show("a");
    int len=abc.length;
    for(int i=0;i<len;i++){
    System.out.println(abc[i]);
    }
    另外,show()里面的参数完全无意义可以省掉
      

  4.   

    public static void main(String args[]) {
    test21 t = new test21();
    System.out.println(Arrays.toString(t.show("a")));
    } public int[] show(String str){
    int[] a = new int[10];
    for(int i=0; i<10; i++)
    a[i] = 1;
    return a;
    }
    我帮你改好了  你对照一下马上就知道问题了  记住就行了
      

  5.   

    a 是int[] 数组 不能直接输出
    试试System.out.println(Arrays.toString(t.show("a")));
      

  6.   

    a 是int[] 数组不能直接输出,需要转下类型。还有,你这个for循环赋值,根本就不需要,直接在定义数组的时候赋值就好了。
    你最终的意思也就是想打印下自己定义的数组里面的值。
      

  7.   

    你返回的是数组,数组直接输出不清楚,但是应该比较复杂,楼主百度一下
    另外public int[] show(String str)这个函数不用参数也可以,建议楼主简化
    努力加油