设计一个程序实现字符串循环移位的功能。例如:输入字符串“abcdef”和循环移位的位数2,程序输出字符串循环移位的结果“cdefab”.
解决方案 »
- 超长字符串写入xml文件丢失
- 帮忙看个小递归
- 求助:用SWT做界面锁定的问题,急!
- 线程问题
- java.util.Properties propertyNames方法
- 请问,为什么同一sql语句,在jdbc执行比查询分析器中执行慢很多?
- JAVA在讀數據庫的時候,可否轉到指定的某一行?
- 请问到底应该如何向oracle时间字段用to_date插入时间,急!!
- java spec....
- 如何在JTabbedPane中将JTable充满整个Panel?我的代码如下!
- Servlet下载完成后如何刷新页面?Cannot call sendRedirect() after the response has been commit
- 刚想个挺有意思的程序
s=s.substring(2)+s.substring(0,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();
}
}