所需知识:
import java.util.Scanner;
public class CS{
public static void main(String[] args){
String[] books = new String[]{"Computer", "Hibernate", "Java", "Struts"};
String[] newBooks = new String[books.length+1]; //新书数组
String bookName; //保存添加的新书名
int index = books.length; //保存在新数组中的下标,注意一定要初始化
System.out.println("原书数组为:");
for(int i=0; i<books.length; i++){
System.out.print(books[i]+" "); //输出插入前的数组
}
//将数组books的元素复制到newBooks数组中
for(int i=0; i<books.length; i++){
newBooks[i] = books[i];
}
//找到插入新书的位置
System.out.print("\n请输入书名:");
Scanner in = new Scanner(System.in);
bookName = in.nextLine(); //如使用in.next(),将只记录连续的字符,空格及其后面的字符忽略;
for(int i=0; i<books.length; i++){
if(bookName.compareToIgnoreCase(books[i]) < 0){ //第一个大于新书名的元素即为插入位置
index = i; //插入的位置是数组下标为i的元素
break;
}
}
//元素后移
for(int i=newBooks.length-1; i>index; i--){
//如用i++实现,将会出现元素[1]赋给元素[2],元素[2]的值变为元素[1],不能再元素[2]的原值赋给元素[3]
newBooks[i] = newBooks[i-1]; //下标为index的元素往后移1位
}
//插入新书
newBooks[index] = bookName; // 将新书名插入到该位置
System.out.println("插入后的新书数组为:");
for(int i=0; i<newBooks.length; i++){
System.out.print(newBooks[i]+" ");
}
}
}
/*----------------------
原书数组为:
Computer Hibernate Java Struts
请输入书名:HelloWorld
插入后的新书数组为:
Computer HelloWorld Hibernate Java Struts
----------------------*/