String反转
/**
* 将字符串的任意区间的字符反转
* 例:字符串“abcdef” 反转为 “aedcbf"
*/
public class reserveChar {
public static void main(String[] args) {
String str = "abcdef";
// 捕获异常
try {
str = reverse(str,4,1);
} catch (Exception e) {
System.out.println(e.getMessage());
return;
}
System.out.println(str);
}
public static String reverse (String str,int end,int start){
// 验证 捕获错误异常
if (!(str != null && start >=0 && end <str.length() && end>start)){
throw new RuntimeException("参数不正确");
}
// 先将String 转换成char[] ;因为char[]是可交换的
char [] chars = str.toCharArray();
char temp = ' ';
for (int i=start,j=end;i<j;i++,j--){
temp = chars[i];
chars[i] = chars[j];
chars[j] = temp;
}
// 使用chars 交换后的 重新构建一个String
return new String(chars);
}
}
-
注意:这里 是String字符处理的重点
// 先将String 转换成char[] ;因为char[]是可交换的 char [] chars = str.toCharArray(); // 使用chars 交换后的 重新构建一个String return new String(chars);
-
要将错误情况列举出来 ,不如 先将所有正确的情况写出来,然后再取反
// 验证 捕获错误异常 if (!(str != null && start >=0 && end <str.length() && end>start)){ throw new RuntimeException("参数不正确"); }