转换一个字符串
循环方法:
public class Example {
public static void main(String[] args) {
String origin = "hello world";
String reverse = "";
for (int i = origin.length() - 1; i >= 0; i--) {
reverse += origin.charAt(i);
}
System.out.println(reverse);
}
}
递归方法
public class Example {
public static void main(String[] args) {
String origin = "hello world";
String reverse = "";
reverse = reverse(origin);
System.out.println("reverse: " + reverse);
}
private static String reverse(String origin) {
if (origin.length() == 1) {
return origin;
} else {
return origin.charAt(origin.length() - 1) + reverse(origin.substring(0, origin.length() - 1));
}
}
}
StringBuffer的reverse方法
public class Example {
public static void main(String[] args) {
String origin = "hello world";
StringBuffer sb = new StringBuffer(origin);
System.out.println("reverse: " + sb.reverse());
}
}
判断两个字符串是否是字谜
循环方法
public class Example {
public static void main(String[] args) {
String word = "hello";
String anagram = "lloeh";
boolean isAnagram = isAnagramUsingStringMethods(word, anagram);
System.out.println("isAnagram:" + isAnagram);
}
private static boolean isAnagramUsingStringMethods(String word, String anagram) {
if (word.length() != anagram.length()) {
return false;
}
for (int i = 0; i < word.length(); i++) {
char c = word.charAt(i);
int index = anagram.indexOf(c);
if (index != -1) {
anagram = anagram.substring(0, index) + anagram.substring(index + 1, anagram.length());
} else {
return false;
}
}
return anagram.isEmpty();
}
}