字符串的循环左移 java
时间: 2024-09-29 08:04:57 浏览: 36
在 Java 中,字符串的循环左移通常通过字符数组的方式来实现,因为 Java 的 String 类型是不可变的,不能直接修改其内容。你可以创建一个新的字符数组,将原字符串的内容移动指定的位置。这里有一个简单的示例:
```java
public class Main {
public static void main(String[] args) {
String str = "Hello, World!";
int shiftAmount = 3; // 循环左移的位数
char[] chars = str.toCharArray(); // 转换为字符数组
for (int i = 0; i < shiftAmount; i++) {
chars = rotateLeft(chars);
}
StringBuilder sb = new StringBuilder();
for (char c : chars) {
sb.append(c);
}
String shiftedStr = sb.toString();
System.out.println("Shifted string: " + shiftedStr);
}
private static char[] rotateLeft(char[] arr) {
char firstChar = arr[0];
int lastIndex = arr.length - 1;
// 将第一个元素移到数组最后
arr[0] = arr[lastIndex];
// 移动其他元素到新位置
for (int i = 0; i < lastIndex; i++) {
arr[i] = arr[i + 1];
}
// 把第一个字符放回原位置
arr[lastIndex] = firstChar;
return arr;
}
}
```
在这个例子中,`rotateLeft` 方法实现了字符串的循环左移操作,然后将其结果转换回字符串并打印出来。
阅读全文