我使用Java开发一个小项目。
我想要String反向。 如果我进入"我是一个女孩",印刷逆转...
我已经尝试使用StringBuilder。 我也用StringBuffer语法写它... 但我失败了...... 它没有打印出我的愿望......
WISH
我的打印 - > "我是一个"
"我是一个女孩" - > "我是一个" REVERSE !!
我该怎么办?..
请帮帮我谢谢〜!!!
public String reverse() {
String[] words = str.split("\\s");
StringTokenizer stringTokenizer = new StringTokenizer(str, " ");
for (String string : words) {
System.out.print(string);
}
String a = Arrays.toString(words);
StringBuilder builder = new StringBuilder(a);
System.out.println(words[0]);
for (String st : words){
System.out.print(st);
}
return "";
}
答案 0 :(得分:4)
执行此操作的Java 8代码:
public static void main(String[] args) {
String str = "I am a girl";
StringBuilder sb = new StringBuilder();
// split() returns an array of Strings, for each string, append it to a StringBuilder by adding a space.
Arrays.asList(str.split("\\s+")).stream().forEach(s -> {
sb.append(new StringBuilder(s).reverse() + " ");
});
String reversed = sb.toString().trim(); // remove trailing space
System.out.println(reversed);
}
O / P:
I ma a lrig
答案 1 :(得分:1)
如果您不想使用lambda
,那么您也可以尝试此解决方案
String str = "I am a girl";
String finalString = "";
String s[] = str.split(" ");
for (String st : s) {
finalString += new StringBuilder(st).reverse().append(" ").toString();
}
System.out.println(finalString.trim());
}