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方法。