import java.util.Scanner;
/**数组应用:插入
* 向有序序列中插入字符
* 一组有序的字符序列a、b、c、e、f、p、u、z
* 向次字符序列中插入一个新的字符,要求插入之后字符序列仍保持有序
* 插入m,插入后结果a、b、c、e、f、m、p、u、z
* 并输出插入字符的下标
* @author Administrator
*/
public class Test3 {
public static void main(String[] args) {
//声明变量
char [] arr1 = {'a','b','c','e','f','p','u','z'};//原数组,字符
char [] arr2 ={'a','b','c','e','f','p','u','z',' '};//新数组,字符
int index=-1;//元素下标位置
//扫描
Scanner input =new Scanner(System.in);
System.out.print("原字符序列:");
/*遍历数组,并打印数组中的数据*/
for (int i=0;i<arr1.length ;i++) {
System.out.print(arr1[i]+" ");
}
System.out.print("\n请输入一个要插入的字符:");
//接收数据
char target=input.next().charAt(0);
//声明变量word用来存储需要插入的字符
char word=target;
System.out.println("待插入的字符是:"+target);
/*遍历数组至倒数第一个数前*/
for (int i=0;i<arr2.length-1 ;i++) {
/*判断,交换,如果target<arr2[i],则交换两个数据*/
if (target<arr2[i]) {
char temp=arr2[i];
arr2[i]=target;
target=temp;
}
}
//将target替换到数组的最后一个元素
arr2[arr2.length -1]=target;
/*遍历数组,查找目标字符*/
for (int i=0;i<arr2.length ;i++) {
/*判断,当数组中的元素与输入的字符相同时,记录i的值*/
if(arr2[i]==word) {
index=i;
}
}
System.out.println("插入字符的下标是:"+index);
System.out.print("插入后的字符序列是:");
/*遍历数组,打印数组中的数据*/
for (int i=0;i<arr2.length;i++) {
System.out.print(arr2[i]+" ");
}
}
}
06-13
231
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
06-10
383
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交