java键盘输入一个字符串及指定区间的下标,将指定区间字符串反转输出,例如:输入abcdehjkp,指定下标[2,5]区间的字符串反转,则输出abhedcjkp
时间: 2024-03-03 20:48:49 浏览: 83
好的,您可以参考以下 Java 代码实现:
```java
import java.util.Scanner;
public class ReverseSubstring {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入字符串:");
String str = sc.nextLine();
System.out.print("请输入指定区间下标(格式为:起始下标,结束下标):");
String indexStr = sc.nextLine();
String[] indexArr = indexStr.split(",");
int startIndex = Integer.parseInt(indexArr[0]);
int endIndex = Integer.parseInt(indexArr[1]);
String reversedStr = reverseSubstring(str, startIndex, endIndex);
System.out.println(reversedStr);
}
public static String reverseSubstring(String str, int startIndex, int endIndex) {
StringBuilder sb = new StringBuilder();
sb.append(str.substring(0, startIndex));
for (int i = endIndex; i >= startIndex; i--) {
sb.append(str.charAt(i));
}
sb.append(str.substring(endIndex + 1));
return sb.toString();
}
}
```
代码中,我们首先通过 Scanner 类获取用户输入的字符串和指定区间下标,然后调用 `reverseSubstring` 方法实现指定区间字符串反转。具体实现是先将起始下标之前的字符串加入 StringBuilder 中,然后从结束下标开始逆序遍历区间,将每个字符加入 StringBuilder 中,最后将结束下标之后的字符串加入 StringBuilder 中,最后通过 `toString` 方法返回 StringBuilder 对象的字符串表示。
阅读全文