package stringdemo;
public class Z11 {
public static void main(String[] args) {
//给定两个字符串,A和B
//A的旋转就是将A 最左边的字符移动到最右边
//例如:A=“abcd”,在移动一次之后结果就是“bcda”
//如果在若干旋转操作之后,A能变成B,那么返回TRUE
//如果不能匹配,返回false
//定义两个字符串
String strA="abcde";
String strB="cdeab";
//旋转字符串A
/*System.out.println(rotate(strA));
System.out.println(rotate2(strA));*/
//比较strA和strB
boolean b = check(strA, strB);
System.out.println("若干旋转操作之后,结果为:");
System.out.println(b);
}
//方法,旋转字符串A
public static String rotate(String strA){
//获取第一位字符
char start = strA.charAt(0);
//获取剩余字符
String end=strA.substring(1);
return end+start;
}
public static String rotate2(String strA){
char[] arr = strA.toCharArray();//toCharArray();让字符串变成字符数组
//将arr[0]临时存储
char first=arr[0];
//整体向前移动一位
for (int i = 1; i < arr.length; i++) {
arr[i-1]=arr[i];
}
arr[arr.length-1]=first;
String result=new String(arr);
return result;
}
//比较strA和strB
public static boolean check(String strA,String strB){
for (int i = 0; i < strA.length(); i++) {
//方法1:
//strA=rotate(strA);
//方法2
strA=rotate2(strA);
if(strA.equals(strB)){
return true;
}
}
return false;
}
}
给定两个字符串,A和BA的旋转就是将A 最左边的字符移动到最右边例如:A=“abcd”,在移动一次之后结果就是“bcda”如果在若干旋转操作之后,A能变成B,那么返回TRUE如果不能匹配,返回fase
最新推荐文章于 2024-10-10 23:42:47 发布