标签:方式 print sys 字符数组 index 类库 dex 接收 end
激点:
/** 将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反 转为”abfedcg”
*/
@Test
public void Inversion(){
//假设这三个值是接收到的参数:字符串,开始脚标,结束脚标(不包含)
String str = "1234abcd";
int starIndex = 2;
int endIndex = 6;
//将字符串转换为字符数组
char[] ch = str.toCharArray();
//方式一:较麻烦,获取指定的范围,二分法得出要交换次数,根据此次数进行首尾交换
// for(int i = starIndex,j = endIndex-1,k = 0;k < (endIndex-starIndex)/2;i++,j--,k++){
// char c = ch[i];
// ch[i] = ch[j];
// ch[j] = c;
// }
//方式二:直接用给定的范围作为控制条件,但参与控制条件的两个变量都向一个值递增或递减,相当于两头减,简单明了
for (int i = starIndex,j = endIndex-1; i < j; i++,j--) {
char c = ch[i];
ch[i] = ch[j];
ch[j] = c;
}
//将数组转换为字符串
String str2 = String.valueOf(ch);
System.out.println(str2);
}
标签:方式 print sys 字符数组 index 类库 dex 接收 end
原文地址:https://www.cnblogs.com/csyh/p/12272402.html