调整字符串

第一种方法

package Test;
public class Test2Case1 {
    public static void main(String[] args) {
        /*给定两个字符串A,B
        A的旋转操作就是A最左边的字符移动到最右边
        eg A=abcde在移动一次之后就变成A=bcdea
        经过在若干次调整操作之后,A能变成B,则返回TRUE
        否则false
        * */
        //1.定义两个字符串
        String  strA="abcde";
        String strB="cdeab";
       //2.调用方法进行比较
        boolean result = check(strA, strB);
        //3.输出
        System.out.println(result);
    }    public static boolean check(String strA,String strB){
        for (int i = 0; i < strA.length(); i++) {
           strA=rotate(strA) ;
           if(strA.equals(strB)){
               return  true;
           }
        }
        //所有的情况都比较完毕了,还不一样就直接返回false
        return false;
    }
    //作用:旋转字符串,把左侧的字符移动到右侧去
    //形参:旋转前的字符串
    //返回值:旋转后的字符串
   public static String rotate(String str){
//套路
       //如果我们看到要修改字符串的内容
       //1.用subString进行截取,把左侧的字符截取出来拼接到右侧
       //2.可以把字符串先变成一个字符数组,然后调整字符数组里面的数据,再把字符数组变成字符串
       //截取思路:
       //获取最左侧的那个字符
       char first=str.charAt(0);
//获取剩余的字符
    String end = str.substring(1);
     return end+first;
   }
}

第二种方法

package Test;
public class Test2Case2 {
        public static void main(String[] args) {
        /*给定两个字符串A,B
        A的旋转操作就是A最左边的字符移动到最右边
        eg A=abcde在移动一次之后就变成A=bcdea
        经过在若干次调整操作之后,A能变成B,则返回TRUE
        否则false
        * */
            //1.定义两个字符串
            String  strA="abcde";
            String strB="cdeab";
            //2.调用方法进行比较
            boolean result = check(strA, strB);
            //3.输出
            System.out.println(result);
        }    public static boolean check(String strA,String strB){
            for (int i = 0; i < strA.length(); i++) {
                strA=rotate(strA) ;
                if(strA.equals(strB)){
                    return  true;
                }
            }
            //所有的情况都比较完毕了,还不一样就直接返回false
            return false;
        }
        //作用:旋转字符串,把左侧的字符移动到右侧去
        //形参:旋转前的字符串
        //返回值:旋转后的字符串
        public static String rotate(String str){
//套路
            //如果我们看到要修改字符串的内容
            //1.用subString进行截取,把左侧的字符截取出来拼接到右侧
            //2.可以把字符串先变成一个字符数组,然后调整字符数组里面的数据,再把字符数组变成字符串
           //可以把字符串先变成一个字符数组,然后调整字符数组里面的数据,再把字符数组变成字符串
        char[] arr=str.toCharArray();
        //拿到0索引上的字符
            char first=arr[0];
//把剩余的字符依次挪一个位置
            for (int i = 1; i < arr.length; i++) {
             arr[i-1] =arr[i];
            }
            //把原来0索引上的字符放到最后一个位置
            arr[arr.length-1]=first;
            //利用字符数组创建一个字符串对象
            String result=new String(arr);
            return result;
        }
    }

你可能感兴趣的:(java,开发语言)