Java让Array of Output中的每个int都有逗号?

时间:2013-10-25 01:13:18

标签: java sorting

我的数组输出看起来像123611(示例数字) 我想让输出格式化得很好1,2,3,6,11

我没有太多的Java,我不记得如何去做这件事。谢谢!

这是我的代码:

int array3[] = { 1, 2, 3, 6, 11 };

for (int i = 0; i < array3.length; i++)
    System.out.print(array3[i]);

6 个答案:

答案 0 :(得分:2)

您可以使用 Java 8 提供的流, 注意这里我使用的是整数包装类 Integer,而不是原始类型 int

Integer array3[] = { 1, 2, 3, 6, 11 };

System.out.println(Stream.of(array3)
 .collect(Collectors.mapping(String::valueOf, Collectors.joining(",")))
);

正如@Jelaby 提到的,最好使用map(),它先将每个Integer 转换为String,然后再加入

Integer array3[] = { 1, 2, 3, 6, 11 };

System.out.println(Stream.of(array3)
                         .map(String::valueOf)
                         .collect( Collectors.joining(",")));

答案 1 :(得分:1)

您只需要打印它们=)

for(int i=0; i< array3.length; i++) 
    System.out.print(array3[i] + (i <array3.length-1 ? ",":"") ); 

这将关闭尾随逗号,并在每个条目之间打印一个

答案 2 :(得分:1)

这是一种简单的方法:

import java.util.Arrays;

public class SO {
  public static void main(String[] args){
    int[] a = {1,2,3,6,11};
    System.out.println(Arrays.toString(a));
  }
}

输出:

[1, 2, 3, 6, 11]

或者你可以删除你不想要的字符:

System.out.println(Arrays.toString(a).replaceAll("\\[|\\]|\\s", ""));

哪个输出:

1,2,3,6,11

答案 3 :(得分:0)

您可以使用此循环

在除最后一个元素之外的每个元素之后打印,
for (int i = 0; i < array3.length - 1; i++)
    System.out.print(array3[i] + ", ");

然后打印出数组的最后一个元素,后面没有,

System.out.println(array3[array3.length - 1]);

或者只是使用

String arrStr = Arrays.toString(array3);//will produce "[1, 2, 3, 6, 11]"
System.out.println(arrStr);
//if you want to remove [...] brackets you can substring them with
System.out.println(arrStr.substring(1,arrStr.length()-1));

答案 4 :(得分:0)

我敢打赌这就是你要找的东西:

Arrays.toString(array3);

输出结果为:

[1, 2, 3, 6, 11]

如果您不想使用方括号,只需将它们剥离即可。

答案 5 :(得分:0)

int array3[] = { 1, 2, 3, 6, 11 };
String s ="";
for (int i = 0; i < array3.length-1; i++){
    s +=array3[i]+", ";
}
s +=array3[array3.length-1];
System.out.print(s);

Array.toString()基本相同但没有[], 并且在每次迭代中不使用if语句或三元(?:)来检查它是否是最后一个元素。在genaral中,首先构建一个String,是一种更好的做法,因为它更快,你得到一个字符串处理,System.out并且它已经消失了。