设计一个程序实现字符串循环移位的功能。例如:输入字符串“abcdef”和循环移位的位数2,程序输出字符串循环移位的结果“cdefab”.

解决方案 »

  1.   

    String s="12345";
    s=s.substring(2)+s.substring(0,2);
      

  2.   


    import java.util.Scanner;public class Main {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("请输入要移位的字符串:");
    String str = input.next();
    System.out.println("请输入要移位的位数:");
    int num = input.nextInt();

    //判断输入时候合法
    if(str.length() <= 0) {
    System.out.println("请输入要移位的字符串!");
    return;
    }
    if(num < 0) {
    System.out.println("移动的位数不能小于0");
    return;
    }
    System.out.println(shift(str,num));
    }


    /**
     * 循环移动str,移动num位,移动的时候先取模(num % str.length()),然后再移位。
     * @param str 要移位的字符串
     * @param num 移动的位数
     * @return 移位后的字符串
     */
    private static String shift(String str, int num) {
    StringBuffer sb = new StringBuffer();
    sb.append(str.substring(num % str.length()));
    sb.append(str.substring(0,num % str.length()));
    return sb.toString();
    }
    }
      

  3.   

    http://blog.csdn.net/limingchuan123456789/article/details/7895942你看看对不对、、