关于数组的打印

public static void main(String[] args) {
int [] s={2,3,6,5};

  for(int i=0;i<s.length;i++){
      System.out.print(s[i]);
  }
  System.out.println(s);
}

打印的结果是2365[I@de6ced
我现在想要的是打印出:2356 和{2,3,5,6}
我也知道它打印的内存地址,想了会怎么都打印不出我想要的效果,希望大虾们给点HELP,谢谢啦!

因为数组并不支持这样的方式打印出来,如果要打印出你想要的结果,你可以自定义打印的格式。

如:
[code="java"]
public static void main(String[] args) {
int [] s = {2,3,6,5};

    for (int i = 0; i < s.length; i++){ 
        System.out.print(s[i]); 
    } 
    // System.out.println(s); 
    StringBuffer formatString = new StringBuffer("{");

    for (int i = 0; i < s.length - 1; i++){ 
        formatString.append(s[i]);
    }

    formatString.append(s[s.length - 1]);
    formatString.append("}");

    System.out.print(formatString.toString()); 

}
[/code]

只能自己拼 终究java不是js 呵呵

使用java.util.Arrays的toString方法
不过格式是:[2,3,6,5]

使用java.util.Arrays的toString方法
就行了,
你也可以封装 自定义的 toString方法

不能直接做到这种效果,要拼起来才行。其实很多时候都是要自己做处理,才能达到想要的结果。

public static void main(String[] args) {
int[] s = {2, 3, 6, 5};
StringBuffer sb = new StringBuffer();
sb.append("{");
for (int i = 0; i < s.length; i++) {
System.out.print(s[i]);
if (i == s.length - 1) {
sb.append(s[i] + "}");
} else {
sb.append(s[i] + ",");
}
}
System.out.println(sb.toString());
}

那上面yanq12 的回答可能就是你要的答案吧。 rong889也说了,那个直接toString的结果是 [x,x,x,x] 所以你可以自己封装类,自定义toString方法。