import java.util.Scanner;
public class shiftCycle {
public static String shift(String s,boolean q,int i)
{
//i为移位个数,s为输入的字符串,q为控制左右移位方向
String result;
char[] ch = new char[s.length()];
if(q==true){
System.out.println("右移"+i+"位结果:");
for(int p=0;p<s.length();p++){
ch[p]=s.charAt((p+i-1)%s.length());
}
//System.out.println();
result = String.valueOf(ch);
}
else{
System.out.println("左移"+i+"位结果:");
for(int p=0;p<s.length();p++){
ch[p]=s.charAt((p+i)%s.length());
}
result = String.valueOf(ch);
}
return result;
}
public static void main(String[] args) {
System.out.println("输入字符串:");
Scanner scan = new Scanner(System.in); //用到了scanner方法
String s = scan.next();
System.out.println("右移输入true,左移输入false");
boolean q = scan.nextBoolean();
System.out.println("请输入移位个数:");
int i = scan.nextInt();
String result = shift(s,q,i);
System.out.print(result);
//shiftCycle.shift(s, q, i);类调用static方法
//new shiftCycle().shift(s, q, i);//对象调用static 方法
}
}
输入字符串:
abcdef
右移输入true,左移输入false
true
请输入移位个数:
3
右移3位结果:
cdefab
输入字符串:
abcde
右移输入true,左移输入false
false
请输入移位个数:
3
左移3位结果:
deabc