用java字符串交换位置 1 2交换 3 4 交换 5 6 交换以此类推
时间: 2023-12-14 07:39:58 浏览: 37
可以使用Java中的字符数组来交换字符串中的位置。代码如下:
```java
public static String swapPairs(String str) {
char[] charArray = str.toCharArray();
for (int i = 0; i < charArray.length - 1; i += 2) {
char temp = charArray[i];
charArray[i] = charArray[i + 1];
charArray[i + 1] = temp;
}
return new String(charArray);
}
```
这个方法接受一个字符串作为参数,然后将其转换为字符数组。然后,它使用循环遍历字符数组,并将每一对相邻的字符交换位置。最后,它将字符数组转换回字符串并返回结果。
相关问题
用java字符串交换位置 1 2交换 3 4 交换以此类推
可以使用字符串的 `substring` 方法,将字符串分割成两个子串,然后交换它们的位置。
以下是一个示例代码,可以实现交换相邻两个字符的功能:
```java
public static String swapAdjacentChars(String str) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < str.length() - 1; i += 2) {
result.append(str.charAt(i + 1));
result.append(str.charAt(i));
}
if (str.length() % 2 == 1) {
result.append(str.charAt(str.length() - 1));
}
return result.toString();
}
```
如果需要交换任意两个位置的字符,可以类似地使用 `substring` 方法,将字符串分割成三个子串,然后拼接它们:
```java
public static String swapChars(String str, int i, int j) {
if (i == j) {
return str;
}
if (i > j) {
int temp = i;
i = j;
j = temp;
}
return str.substring(0, i) +
str.charAt(j) +
str.substring(i + 1, j) +
str.charAt(i) +
str.substring(j + 1);
}
```
这个方法接收三个参数,分别是原始字符串和需要交换的两个位置。注意,为了保证交换后的字符串与原始字符串长度相同,需要将较小的位置作为第一个参数传递。
字符串交换位置 1 2交换 3 4 交换以此类推
可以使用循环来实现字符串中两个字符的交换。具体实现方法如下:
1. 定义一个字符串变量str,并将需要交换的字符存储在其中。
2. 使用循环,每次循环交换相邻的两个字符,直到完成所有字符的交换。
下面是具体的实现代码示例:
```python
str = "12345678" # 需要交换位置的字符串
n = len(str) # 字符串长度
str_lst = list(str) # 将字符串转为列表方便交换字符
for i in range(0, n-1, 2):
str_lst[i], str_lst[i+1] = str_lst[i+1], str_lst[i] # 交换相邻的两个字符
str_new = ''.join(str_lst) # 将列表转为字符串
print(str_new) # 输出交换位置后的字符串
```
运行结果为:"21436587",即每两个字符交换位置。