//将一个' '替换成'#''#'
import java.util.Arrays;
public class Replace {
public static char[] replace(char[] arr) {
int count = 0;
//统计空格数
for (int i = 0; i < arr.length; i++) {
if (arr[i] == ' ') {
count++;
}
}
//使新数组的长度扩充到arr.length+count
arr= Arrays.copyOf(arr, arr.length + count);
//遍历空格
for (int i = 0; i < arr.length; i++) {
if (arr[i] == ' ') {
//每找到一个空格,从数组最后第二个数开始,到i+1为为止,数组的元素依次向后挪一个
for (int j = arr.length - 2; j >= (i + 1); j--) {
arr[j + 1] = arr[j];
}
//将'#'的值赋给i+1和i
arr[i] = '#';
arr[i + 1] = '#';
}
}
return arr;
}
public static void main(String[] args) {
char[] arr = new char[]{' ', 'l', ' ', 'a', 'm', ' ', 'a', ' ', 's', 't', 'u', 'd', 'e', 'n', 't', ' '};
//输出原数组
System.out.println(Arrays.toString(arr));
arr = replace(arr);
//输出替换后的数组
System.out.println(Arrays.toString(arr));
}
}
运行结果: