为了简便直接都固定 字符数组 和 要插入的字符和插入的位置
本例中;固定插入 k 字符,插入位置 3也就是数组元素下标2的那个元素插入前的字符数组 A B C D E插入后要的结果 A B K C D
这类似于现实生活中的插队,假设你插入到其中,在你之后的人都会往后退一步,
在程序中也实现类似效果就好了,在数组中最后一个人会被挤出去,因为数组长度确定后是不能更改的。
它只能容纳这么多元素。
char[] ch = {'A', 'B', 'C', 'D', 'E'};char c = 'K';//要插入的字符int index = 3; //要插入的位置for(int i = ch.length-1; i > index-1; i--){//前面一个赋值给后面一个//实现了都移动一位ch[i] = ch[i-1];}
循环思路讲解:变量 i 的初值为 字符数组最后一个元素下标(ch.length)获取字符数组长度循环条件 i > index - 1 (index -1)是要插入字符的位置下标,条件控制了循环在遍历到要插入的字符位置之前。i - - 这个不需解释了(是为了遍历数组时从i初值(作为数组元素下标)时往前面遍历数组)ch[i] = ch[i-1] 实现了把字符数组前面一个元素的字符赋值给后面一个,后面附上笔者的灵魂画手来解释
这是正确的; 循环已经帮我们把从要插入的位置都往后移动了一格,最后我们只需要执行ch[ index -1 ] = c;
为要指定插入的位置插入指定的字符就好了。最终结果就是希望的结果了。最终结果:A B K C D;