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]+" ");
}
}
}
数组应用:插入,并输出插入字符的下标
最新推荐文章于 2023-06-17 09:17:50 发布