由空格连接的Java打印整数数组

Java print array of integers joined by spaces

本问题已经有最佳答案,请猛点这里访问。
1
2
3
4
5
6
int arr[] = new int[10];
for(int i=0;i<10;i++){
   arr[i]=s.nextInt();
}
Arrays.sort(arr);
System.out.println(""+Arrays.toString(arr));

我的输入是:

98 7 6 5 4 32 14 5 1 7

我的输出是:

[1, 4, 5, 5, 6, 7, 7, 14, 32, 98]

但我只想将输出打印为已排序的数字,但不想使用[]和逗号打印,这将是所需的解决方案


使用replaceall将[]替换为空字符串:

1
System.out.println("" + Arrays.toString(arr).replaceAll("[\\[|\\]]",""));

一种解决方案是迭代数组并打印所需的字符串。另一种解决方案是如下使用子字符串:

1
2
String result = Arrays.toString(arr);
System.out.println(""+result.substring(1, result.length()-1));

通过迭代也可以得到如下结果:

1
2
3
for (int i=0;i<arr.length;i++){
    System.out.print(arr[i] +"");
}

或者使用regex,您可以按如下方式替换第一个和最后一个字符:

1
System.out.println("" + Arrays.toString(arr).replaceAll("^.|.$",""));

您还可以使用空安全的StringUtils(commons lang):

1
StringUtils.substringBetween(Arrays.toString(arr),"[","]");


只需循环数组,并打印每个数字。

1
2
3
4
5
for (int i: arr) {
  System.out.print(i);
  System.out.print("");
}
System.out.println();