【发布时间】:2019-04-16 01:51:06
【问题描述】:
我正在尝试在 Java 中反转字符串中的单词。它最初作为 char 数组传递。我尝试的方法是将其转换为 String 数组,进行更改,然后将其转换回 char 数组。但是,即使我尝试将新数组引用到原始数组,也不会对作为参数传入的原始数组进行更改。当我们必须修改参数而不在函数中返回任何内容时,我该如何处理这种情况?谢谢。
public static void main(String[] args) {
char[] s = new char[] {'t','h','e',' ','s','k','y',' ','i','s',' ','b','l','u','e'};
reverseWords(s);
System.out.println(s);
}
public static void reverseWords(char[] s) {
String str = new String(s);
String [] strArray = str.split(" ");
int n = strArray.length;
int begin;
int end;
int mid = (n-1)/2;
for (int i=0; i<=mid; i++) {
begin = i;
end = (n-1) -i;
String temp = strArray[begin];
strArray[begin] = strArray[end];
strArray[end] = temp;
}
String s_temp = Arrays.toString(strArray).replace("[", "").replace("]", "").replace(",", "");
s = s_temp.toCharArray();
System.out.println(s);
}
【问题讨论】: