问题描述
下面的代码我使用字符串作为结果,只是反了一下,例如输入:“天空是蓝色”,然后输出:“蓝色是天空”。如何使用SpringBuilder代替String,然后如何反转句子和单词?示例输入:“天空是蓝色”,我想要此输出“ eulb是yks eht” 请帮助我修改以下代码。
public String reverseWords(String s) {
int i = 0;
int j = 0;
String result = "";
while(s.length()>i){
while(s.length()>i && s.charat(i)==' '){
i++;
}
if(i>=s.length()) break;
j = i;
while(s.length()>j && s.charat(j)!=' '){
j++;
}
String word = s.substring(i,j);
result = word+" "+result;
i = j;
}
return result.trim();
}
解决方法
您可以按以下方式使用StringBuilder
:
String str = " the sky is blue ";
str = str.replaceAll("\\s+"," ");
StringBuilder sb = new StringBuilder(str.trim());
System.out.println(sb.reverse().toString());
输出:
eulb si yks eht