我的数组输出看起来像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]);
答案 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
并且它已经消失了。