延伸:一个已经按照一定顺序排列的字符串数组,如何实现从中插入一个字符,顺序不变?

215 阅读1分钟

import java.util.Scanner; public class InsertCharacter{ public static void main(String [] args ){ //首先需要创建一个数组 String [] character= new String [9];

    //分配内存空间a	b	c	e	f	p	u	z
    character[0]="a";
    character[1]="b";
    character[2]="c";
    character[3]="e";
    character[4]="f";
    character[5]="p";
    character[6]="u";
    character[7]="z"; 
   //随机输入一个字符 
   Scanner input=new Scanner (System.in);
   System.out.print("随机输入一个字符:");
   String charact=input.next();
   
   //确定插入字符的位置
   //字符之间的比较要用到compareTode 方法
   //(s1.compareTo(s2)<0)  →s1<s2,繁反之s1>s2
   int index=character.length-1;
   for(int i=0;i<character.length;i++){
        if(charact.compareTo(character[i])<0){
            index=i;
            break;
        }
   
       
   }
   //插入位置上原来的已经后面的字符均要向后移一位
   for(int i=character.length-1;i>index;i--){
        character[i]=character[i-1]
       
   }
   //打印插入后的序列
   character[index]=charact;
   for(int i=0;i<character.length;i++){
       System.out.print(character[i]+"\t");
   }
   
   //打印插入后的逆序排序字符数组
   Arrays.sort(character);
    for(int i=character.length-1;i>=0;i--){
       System.out.print(character[i]+"\t");
  
  
  



    
}

}