java字符串左移或右移几位(三次反转思想)
2017-05-03 10:23
218 查看
代码
public class StringReversal { /** * 反转字符串(循环交换) * 其他字符串反转的方法 * 1、java的api:StringBuffer的reverse方法 * 2、利用栈的特性(先进后出) * 3、反向遍历字符串 * @param from * @return */ public static String reChange(String from){ char[] froms = from.toCharArray(); int length = froms.length; for (int i = 0; i < length/2; i++){ char temp = froms[i]; froms[i] = froms[length - 1 -i]; froms[length - 1 -i] = temp; } return String.valueOf(froms); } /** * 循环左移index位字符串 * 思想:先部分反转,后整体反转 * @param from * @param index * @return */ public static String leftMoveIndex(String from,int index){ String first = from.substring(0,index); String second = from.substring(index); first = reChange(first); second = reChange(second); from = first + second; from = reChange(from); return from; } /** * 循环右移index位字符串 * 思想:先整体反转,后部分反转 * @param from * @param index * @return */ public static String rightMoveIndex(String from,int index){ from = reChange(from); String first = from.substring(0,index); String second = from.substring(index); first = reChange(first); second = reChange(second); from = first + second; return from; } public static void main(String[] args) { String leftString = "abcdefg"; System.out.println("左移2位字符串结果:"+leftMoveIndex(leftString,2)); String rightString = "abcdefg"; System.out.println("右移2位字符串结果:"+rightMoveIndex(rightString,2)); } }
输出结果
左移2位字符串结果:cdefgab 右移2位字符串结果:fgabcde
相关文章推荐
- Java技巧:字符串反转
- Java 输出反转字符串
- JAVA字符串的反转和比较
- Java反转字符串和相关字符编码问题
- java如何实现字符串的反转及替换
- java给一个String 字符串反转
- java--让一个字符串反转
- Java 字符串反转实现
- java-字符串反转-自定义反转字符位置
- Java反转字符串代码
- 字符串反转-java
- java 字符串的反转输出
- java 反转字符串(转)
- 由字符串反转(使用递归)引申出来一道Java面试题
- java 截取字符串最后几位
- Java技巧:字符串反转
- Java字符串反转算法实现
- java实现字符串反转
- 《Java 编程思想》--第十三章:字符串
- java--让一个字符串反转