黑马程序员技术交流社区

标题: 字符串的旋转 [打印本页]

作者: 自信boy    时间: 2016-8-20 20:57
标题: 字符串的旋转
题目描述
对于一个字符串,和字符串中的某一位置,请设计一个算法,将包括i位置在内的左侧部分移动到右边,将右侧部分移动到左边。
给定字符串A和它的长度n以及特定位置p,请返回旋转后的结果。
测试样例:
"ABCDEFGH",8,4返回:"FGHABCDE"



作者: NewBeeCoder    时间: 2016-8-20 21:37
应该挺容易的吧 我用字符串自带方法substring()做的  
如下不带键盘输入 全是自定义的
public class StringDemo {

        public static void main(String[] args) {
                String s = "ABCDEFGH";
                int num = 4;
                String s1 = s.substring(0,num+1);
                String s2 = s.substring(num+1);
                System.out.println(s2+s1);
        }

}

带键盘输入的 如下
public class StringDemo {

        public static void main(String[] args) {
                Scanner sc = new  Scanner(System.in);
                System.out.println("请输入字符串:");
                String s = sc.next();
                System.out.println("请输入位置:");
                //int length = sc.nextInt();//其实这个长度我觉得都没必要的
                int num = sc.nextInt();
                String s1 = s.substring(0,num+1);
                String s2 = s.substring(num+1);
                System.out.println(s2+s1);
        }

}
作者: 胡eason    时间: 2016-8-20 22:17
加油!加油!加油!加油!
作者: DadouBK    时间: 2016-8-20 22:21
话不多说 直接上代码

[Java] 纯文本查看 复制代码
import java.util.Scanner;
/**
*
* @author www.dadoubk.cn
*
*/
public class demo {
        public static void main(String[] args) {
                String A="ABCDEFGH";
                int n=8;
                int p=4;
                System.out.println(mother(A, n, p));       
        }

        private static String mother(String A, int n, int p) {
                return A.substring(p+1)+A.substring(0, p+1);
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2