设计一个程序实现字符串循环移位的功能。例如:输入字符串“abcdef”和循环移位的位数2,程序输出字符串循环移位的结果“cdefab”.
------解决方案--------------------------------------------------------
长度固定是6位么?还是只移动前面两位,你把需求说清楚
------解决方案--------------------------------------------------------
String s="12345";
s=s.substring(2)+s.substring(0,2);
------解决方案--------------------------------------------------------
- Java code
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(); }}
------解决方案--------------------------------------------------------
简单的截取字符串。