第一种方法:使用substring
public class StringDemo1 {
public static void main(String[] args) {
String str1 = "abcde";
String str2 = "cdeab";
boolean result = check(str1, str2);
System.out.println(result);
}
public static boolean check(String str1, String str2) {
for (int i = 0; i < str1.length(); i++) {
str1 = rotate(str1);
if (str1.equals(str2)) {
return true;
}
}
return false;
}
public static String rotate(String str) {
String first = str.substring(0, 1);
String end = str.substring(1);
return end + first;
}
}
第二种方法:将字符串转换成数组操作(toCharArray)
public class StringDemo1 {
public static void main(String[] args) {
String str1 = "abcde";
String str2 = "cdeab";
boolean result = check(str1, str2);
System.out.println(result);
}
public static boolean check(String str1, String str2) {
for (int i = 0; i < str1.length(); i++) {
str1 = rotate(str1);
if (str1.equals(str2)) {
return true;
}
}
return false;
}
public static String rotate(String str) {
//"ABC"->['C','B','C']
char[] arr = str.toCharArray();
char c = arr[0];
for (int i = 1; i < arr.length; i++) {
arr [i - 1] = arr[i];
}
arr[arr.length - 1] = c;
return new String(arr);
}
}