反转整个字符串并反转其中的每个单词
Reversing the whole String and reversing each word in it
我必须编写一个包含两个 classes 的代码,一个反转字符串改变位置,例如
I love you
变为 uoy evol I
和另一个 class 在不改变位置的情况下反转字符串,例如
I love you
变为 I evol uoy
。
我有一个小代码,但如果调用那些 classes 中的方法,我无法找到方法。
我现在只有第一种方式反转字符串的代码。欢迎任何帮助。
class StringReverse2{
public static void main(String[] args){
String string="I love you";
String reverse = new StringBuffer(string). //The object created through StringBuffer is stored in the heap and therefore can be modified
reverse().toString(); //Here the string is reversed
System.out.println("Old String:"+string); //Prints out I love you
System.out.println("New String : "+reverse);//Prints out the reverse that is "uoy evol I"
}
}
我不会向您展示完整的解决方案,但会指导您,这是一种方法:
split
String 根据空格(yourString.split("\s+");
)
- 迭代结果数组并反转每个字符串(您可以使用与第一个任务相同的方法)
- 从数组构造一个新字符串
还有更多解决方案,请访问 String API
并激发您的创意!
您可以只对 StringBuilder 对象使用 reverse() 方法
public class Testf {
public static void main(String[] args){
String string="I love you";
String reverse = new StringBuilder(string).reverse().toString();
StringBuilder secondReverse = new StringBuilder();
for (String eachWord : string.split("\s+")){
String reversedWord = new StringBuilder(eachWord).reverse().toString();
secondReverse.append(reversedWord);
secondReverse.append(" ");
}
System.out.println("Old String:"+string); //Prints out I love you
System.out.println("New String : "+reverse);//Prints out the reverse that is "uoy evol I"
System.out.println("Reversed word two: " + secondReverse.toString());
}
}
API: http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html
我必须编写一个包含两个 classes 的代码,一个反转字符串改变位置,例如
I love you
变为 uoy evol I
和另一个 class 在不改变位置的情况下反转字符串,例如
I love you
变为 I evol uoy
。
我有一个小代码,但如果调用那些 classes 中的方法,我无法找到方法。
我现在只有第一种方式反转字符串的代码。欢迎任何帮助。
class StringReverse2{
public static void main(String[] args){
String string="I love you";
String reverse = new StringBuffer(string). //The object created through StringBuffer is stored in the heap and therefore can be modified
reverse().toString(); //Here the string is reversed
System.out.println("Old String:"+string); //Prints out I love you
System.out.println("New String : "+reverse);//Prints out the reverse that is "uoy evol I"
}
}
我不会向您展示完整的解决方案,但会指导您,这是一种方法:
split
String 根据空格(yourString.split("\s+");
)- 迭代结果数组并反转每个字符串(您可以使用与第一个任务相同的方法)
- 从数组构造一个新字符串
还有更多解决方案,请访问 String API
并激发您的创意!
您可以只对 StringBuilder 对象使用 reverse() 方法
public class Testf {
public static void main(String[] args){
String string="I love you";
String reverse = new StringBuilder(string).reverse().toString();
StringBuilder secondReverse = new StringBuilder();
for (String eachWord : string.split("\s+")){
String reversedWord = new StringBuilder(eachWord).reverse().toString();
secondReverse.append(reversedWord);
secondReverse.append(" ");
}
System.out.println("Old String:"+string); //Prints out I love you
System.out.println("New String : "+reverse);//Prints out the reverse that is "uoy evol I"
System.out.println("Reversed word two: " + secondReverse.toString());
}
}
API: http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html