我的数组输出看起来像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]);
您可以使用 Java 8 中提供的 Streams,注意这里我使用的是整数包装类 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(",")));
这是一个简单的方法:
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
您也只需要打印它们 =)
for(int i=0; i< array3.length; i++)
System.out.print(array3[i] + (i <array3.length-1 ? ",":"") );
这将关闭尾随逗号,并在每个条目之间打印一个
,
您可以使用此循环在除最后一个元素之外的每个元素之后打印
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));
我敢打赌这就是你要找的东西:
Arrays.toString(array3);
输出是:
[1, 2, 3, 6, 11]
如果您不想要方括号,只需去掉它们。
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
语句或三元(?:)
来检查它是否是最后一个元素。一般来说,首先构建一个字符串是一种更好的做法,因为它更快并且你得到一个字符串处理,System.out
它消失了。