我必须编写一个包含两个类的代码,一个反转字符串改变位置,例如
I love you
变为uoy evol I
而另一个类反转字符串而不改变位置,例如
I love you
变为I evol uoy
。
我有一个小代码,但是如果在这些类中调用方法,我就无法找到方法。
我现在拥有的只是以第一种方式反转字符串的代码。欢迎任何帮助。
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"
}
}
答案 0 :(得分:7)
我不会向您展示完整的解决方案,但会指导您,这是实现这一目标的唯一方法:
split
根据空格(yourString.split("\\s+");
)还有更多解决方案,请访问String API
并为您的创意火力加油!
答案 1 :(得分:5)
你可以在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