1 package shuzu;
2
3 import java.util.Scanner;
4
5 public class ZuoYe05 {
6
7 public static void main(String[] args) {
8 Scanner meng00=new Scanner(System.in);
9 String[]yinyue=new String[]{"Island","Ocean","Pretty","Sun"};//定义插入前一个数组
10 String[]yinyue2= new String[yinyue.length+1]; //定义一个要插入的新数组,在插入前的数组长度+1长度
11 int index=0; //数组下标
12 String xin =""; //Srting类型新插入数组
13 System.out.println("插入前的数组为:");
14 for (int i = 0; i < yinyue.length; i++) { //插入前的数组,我把定义的原有数组赋值给了新数组输出。这个时候新数组比原有数组长度多1个下标
15 yinyue2[i]=yinyue[i]; //赋值数组
16 System.out.print(yinyue2[i]+"\t");
17 }
18 System.out.println("\n请输入新的歌名:");
19 xin=meng00.next(); //要插入的新的歌名单词
20 for (int i = 0; i < yinyue.length; i++) {
21 if (yinyue2[i].compareToIgnoreCase(xin)>0) { //书上提供的字符串比较大小的方法,找到插入的位置,解释看书第165页。
22 index=i; //附加:我也是按照书打的,不明白!!!!!
23 break; //这么长的单词 sorry!!我记不住!记不住!!
24 }else {
25 index=yinyue2.length-1;
26 }
27 }
28
29 for(int i=yinyue2.length-1;i>index;i--){ //可以解释成元素后移吗?
30 yinyue2[i]=yinyue2[i-1]; //是的 !可以。
31 }
32
33 yinyue2[index]=xin; //输入的歌曲名 赋值给比较好的数组下标找到新插入歌曲名称的下标位置
34 System.out.print("插入后的数组:");
35 for(int i=0;i<yinyue2.length;i++){ //输出插入后数组
36 System.out.print(yinyue2[i]+" ");
37 }
38 }
39
40 }
41 /*String[] nummusics=new String[musics.length+1];
42 int index=0;
43 String music="";
44 System.out.print("插入前的数组:");
45 for(int i=0;i<musics.length;i++){
46 nummusics[i]=musics[i];//
47 }
48 for(int i=0;i<musics.length;i++){//
49 System.out.print(musics[i]+" ");//
50 }
51 System.out.println("");
52 System.out.print("请输入新的单词");
53 music=meng00.nextLine();
54 System.out.print("插入前新单词的下标:");
55 for(int i=0;i<nummusics.length;i++){
56 if(nummusics[i].compareToIgnoreCase(music)>0){
57 index=i;
58 break;
59 }
60 }
61 System.out.println(index);
62 for(int i=nummusics.length-1;i>index;i--){
63 nummusics[i]=nummusics[i-1];
64 }
65 nummusics[index]=music;
66 System.out.print("插入后的数组:");
67 for(int i=0;i<nummusics.length;i++){
68 System.out.print(nummusics[i]+" ");
69 }
70 */