java调整字符串

复制代码
package 字符串练习;

public class 调整字符串 {
    /* 如果调整成功则给提示,返回不成功也给提示

       调整 例如:abcde -> bcdea -> cdeab 就是把第一个值放到最后的位置上
       现在是给定两个字符串, 选定其中一个进行调整, (我们想一下,如果调整字符串的长度次,那不就是返回到原来的字符串了吗,所以调整是可以有固定次数的)
     */
    public static void main(String[] args) {
        String str = "abcde";
        String str_result = "cedab";

        char[] str_char_array = str.toCharArray();
        char[] str_result_char_array = str_result.toCharArray();
        int signs = 0;

        for (int i = 0; i < str.length(); i++) {
            char sign = str_char_array[0];//记录头索引的值

            swap_Position(str,str_char_array);

            str_char_array[str_char_array.length - 1] = sign;//把头索引的值给最后索引位置上

            String new_char_str = new String(str_char_array);//把数组转换成字符串
            if(new_char_str.equals(str_result)){
                signs = 1;
                System.out.println("完毕,可以转换");
                break;
            }
            str_char_array = new_char_str.toCharArray();
        }

        if (signs == 0) {
            System.out.println("不可转换");
        }
    }


    public static void swap_Position(String str,char[] str_char_array ){
        for (int j = 0; j < str.length() - 1; j++) {
            str_char_array[j] = str_char_array[j+1];
        }//交换位置
    }
}
相关推荐
兩尛4 小时前
c++知识点2
开发语言·c++
fengfuyao9854 小时前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
xiaoye-duck4 小时前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
Hx_Ma165 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode6 小时前
原子操作类LongAdder
java·开发语言
舟舟亢亢6 小时前
Java集合笔记总结
java·笔记
小酒窝.7 小时前
【多线程】多线程打印ABC
java
lly2024067 小时前
C 语言中的结构体
开发语言
乡野码圣7 小时前
【RK3588 Android12】RCU机制
java·jvm·数据库
JAVA+C语言7 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php