String book[] = {"","","","",""}; String newbook[] = new String[book.length+1]; int index = book.length; //储存输入的新书名的位置 for (int i = 0;i<book.length;i++){ //复制数组 newbook[i]=book[i]; } for (int i =0;i<book.length;i++){ //输出原数组 System.out.print(book[i]+""); } Scanner input = new Scanner (System.in); System.out.println ("请输入新书的名称(英文):"); String bookname = input.next(); for (int i = book.length-1;i>=0;i--){ //查找新书名称所在的位置 if (book[i].compareToIgnoreCase(bookname)>0){ //通过比较得出新书名称的合适位置 index = i ; break; } } newbook[index]=bookname; for ( int i = book.length-1;i>index;i-- ){ //让index后的所有变量后退一位 newbook[i]=newbook[i-1]; } for (int c=0;c<newbook.length;c++){ //输出新数组 System.out.print(newbook[c]+""); } }改了一下,编译正常了
确实 是要改的 改了后 输出结果为: D:\>java Test 请输入新书的名称(英文): cary cary
String book[] = {"","","","",""};
String newbook[] = new String[book.length+1];
int index = book.length; //储存输入的新书名的位置
for (int i = 0;i<book.length;i++){ //复制数组
newbook[i]=book[i];
}
for (int i =0;i<book.length;i++){ //输出原数组
System.out.print(book[i]+"");
}
Scanner input = new Scanner (System.in);
System.out.println ("请输入新书的名称(英文):");
String bookname = input.next();
for (int i = book.length-1;i>=0;i--){ //查找新书名称所在的位置
if (book[i].compareToIgnoreCase(bookname)>0){ //通过比较得出新书名称的合适位置
index = i ;
break;
}
}
newbook[index]=bookname;
for ( int i = book.length-1;i>index;i-- ){ //让index后的所有变量后退一位
newbook[i]=newbook[i-1];
}
for (int c=0;c<newbook.length;c++){ //输出新数组
System.out.print(newbook[c]+"");
}
}改了一下,编译正常了
D:\>java Test
请输入新书的名称(英文):
cary
cary