将英文字母正序和逆序输出,并差入一个新的字符,插入之后字符序列仍保持有序
import java.util.Arrays;
import java.util.Scanner;
public class Qjc {
public static void main(String[] args) {
char[] chars=new char[]{'a','c','u','b','e','p','f','z'};
System.out.print("原字符序列:");
for (int i = 0; i < chars.length ; i++) {
System.out.print(chars[i]+" ");
}
Arrays.sort(chars);
System.out.print("\n正序排序后:");
for (int i = 0; i < chars.length ; i++) {
System.out.print(chars[i]+" ");
}
System.out.print("\n逆序输出为:");
for (int i = chars.length-1; i >=0 ; i--) {
System.out.print(chars[i]+" ");
}
char[] newchars=new char[chars.length+1];
for (int i = 0; i < chars.length; i++) {
newchars[i]=chars[i];
}
System.out.print("\n待插入的字符是:");
Scanner input=new Scanner(System.in);
char letter=input.next().charAt(0);
int index=newchars.length-1;
for (int i = 0; i < newchars.length-1; i++) {
if(newchars[i]>letter){
index=i;
break;
}
}
System.out.println("插入字符的下标是:"+index);
for (int i = newchars.length-2; i >=index ; i--) {
newchars[i+1]=newchars[i];
}
newchars[index]=letter;
System.out.print("插入后的字符序列是:");
for (int i = 0; i < newchars.length ; i++) {
System.out.print(newchars[i]+" ");
}
}
}