import java.util.Arrays;
import java.util.Scanner;
/**
* @Author:
* @Date:2023/3/17 16:27
*/
public class DemoAZ {
public static void main(String[] args) {
/**
*有一组英文歌曲,按照字母顺序从A到Z,保存在数组中
* 现添加一首新歌,将他插入数组,并保持歌曲名称升序
*/
/*比较字符串大小String1.compareToIgnoreCase(String2);
此方法返回int值,按照字典顺序比价两个字符串的,并忽略大小写
如果String1大于String1,该方法返回正整数,即1
小于得负整数,即-1
等于得0
新歌插入得位置就是新歌曲数组元素中按照字典顺序第一个大于新歌得位置*/
Scanner scanner = new Scanner(System.in);
String[] songs = new String[]{"Island", "Ocean", "Pretty", "Sun"};
//定义一个新的数组长度插入几个新增几个
String[] newSongs = new String[5];
//打印原数组
System.out.println("插入前得数组为:");
for (int i = 0; i < songs.length; i++) {
System.out.print(songs[i] + "\t");
newSongs[i]=songs[i];
}
int index = newSongs.length;//保存新增数据插入位置,默认为新数组长度
System.out.println("\n请输入歌曲得名称:");
String insertSong = scanner.next();
for (int i = 0; i < newSongs.length; i++) {
//如果旧的数据字符串长度大于新增的字符串长度,返回正整数,并记录插入位置
if (newSongs[i].compareToIgnoreCase(insertSong) > 0) {
index = i;
break;
}
}
//元素后移,数组下标从0开始,5-1=4最后一位数,循环条件,大于记录得下标
for (int j = newSongs.length - 1; j > index; j--) {
newSongs[j] = newSongs[j - 1];//下标后移
}
System.out.println("插入得下标:" + index);
newSongs[index] = insertSong;//插入数据
System.out.println("插入后得数组为:");
//Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz
for (int k = 0; k < newSongs.length; k++) {
//升序
Arrays.sort(newSongs);
System.out.print(newSongs[k]+"\t");
}
}
}
第八章插入英文歌曲
最新推荐文章于 2024-11-04 22:26:34 发布