java,数组问题:有一组英文歌曲,按照歌曲名称的字母顺序从A到Z...

如题所述

你的Java程序的第一个for循环中的语句nummusics=musics;把musics数组的引用赋给了nummusics数组,实际上让数组nummusics和musics数组一样了,它们的大小也一样了,所以应该把nummusics=musics;改成数组元素赋值nummusics[i]=musics[i];
还有一点就是打印插入前的数组应该打印musics数组,而不是nummusics数组.
完整的Java程序如下(改动的地方见注释)
import?java.util.Scanner;
public?class?taks4?{
?public?static?void?main(String[]?args)?{
??Scanner?input=new?Scanner(System.in);
??String[]?musics=new?String[]{"Island","Ocean","Pretty","Sun"};
??String[]?nummusics=new?String[musics.length+1];
??int?index=0;
??String?music="";
??System.out.print("插入前的数组:");
??for(int?i=0;imusics.length;i++){
???nummusics[i]=musics[i];//这里把nummusics=musics;改成nummusics[i]=musics[i];
??}
??for(int?i=0;imusics.length;i++){//这里把inummusics.length;改成imusics.length;
???System.out.print(musics[i]+"?");//这里把nummusics[i]+"?"改成musics[i]+"?"
??}
??System.out.println("");
??System.out.print("请输入新的单词");
??music=input.nextLine();
??System.out.print("插入前新单词的下标:");
??for(int?i=0;inummusics.length;i++){
???if(nummusics[i].compareToIgnoreCase(music)0){
????index=i;
????break;
???}
??}
??System.out.println(index);
??for(int?i=nummusics.length-1;iindex;i--){
???nummusics[i]=nummusics[i-1];
??}
??nummusics[index]=music;
??System.out.print("插入后的数组:");
??for(int?i=0;inummusics.length;i++){
???System.out.print(nummusics[i]+"?");??
??}
?}
}
运行结果
插入前的数组:Island Ocean Pretty Sun
请输入新的单词kk
插入前新单词的下标:1
插入后的数组:Island kk Ocean Pretty Sun
温馨提示:内容为网友见解,仅供参考
无其他回答

java,数组问题:有一组英文歌曲,按照歌曲名称的字母顺序从A到Z...
??Scanner?input=new?Scanner(System.in);??String[]?musics=new?String[]{"Island","Ocean","Pretty","Sun"};??String[]?nummusics=new?String[musics.length+1];??int?index=0;??String?music="";??System.out.print("插入前的数组:");??for(int?i=0;imusics.length;i++){ ???

有一组英文歌曲,按照歌曲名称的字母顺序从“A”到“Z”顺序排列_百度知 ...
public static void main(String[] args) { Scanner input=new Scanner(System.in);String music[]={"Island","Ocean","Pretty","Sun"}; \/\/原数组 String newMusic[]=new String[music.length+1]; \/\/新建数组 System.out.println("插入前数组:");for(int i = 0; i<music.length;...

用Java写一个程序:使其输出从A-Z的排序字母
import java.util.Scanner;public class Test { public static void main(String[] args) { int count;Scanner scan = new Scanner(System.in);count = scan.nextInt();\/\/ max[0]: 记录只有1位(A ... Z)时,count的最大值。\/\/ max[1]:记录只有2位(AA ... ZZ)时,count的最大值。

怎么样用java编写一段程序 输出从a到z二十六个字母 并且每五个字母一...
class zimu(){ static int i=0;public void static main(string []agrs){ for(int j=0;j<26;j++){ System.out.print((char)('a'+i));i++;if(i%5==0){ System.out.println("\\n");} } } }

java英文字母排序问题...
public static void main(String[] args) { String str="THE PRICE OFBREAD IS ¥1 25 PER POUND";StringBuffer buff=new StringBuffer(str);char[] arr=str.toCharArray();Arrays.sort(arr);for(int i=0,j=0;i<arr.length;i++){ if(String.valueOf(arr[i]).matches("[a-zA-Z]")...

java题,创建一个数组保存"a"到"z",前面一个单词的结尾是后面一个单词...
int[] i = new int[100];\/\/定义一个整形数组,大小为100; \/\/...可用Scanner; int len = i.length; \/\/获取数组长度; for(int j = 0;i

java用数组求a到z之间的随机数
public static void main(String[] args) { ArrayList list = new ArrayList();for (char c = 'a'; c <= 'z'; c++) { list.add(c);} String str = "";\/\/现在取一个,取个就i<几 for (int i = 0; i < 1; i++) { int num = (int) (Math.random() * 26);str = ...

JAVA通过数组按首字母排序怎么做?
自己封装的一个工具类,可以将汉字按照拼音的首字母排序,支持对Model和字典排序.只能对首字母排序,不支持第二个字母, 实现的原理就是创建一个A-Z的数组,数组中的元素是字典,字典中有两个元素,一个是title,就是当前的首字母 A-Z中的一个,另一个是保存当前title对应的元素的数组,对传入的数组进行...

java 用for循环为一个字符串数组输入从a到z的值。
public class Util {public static void main(String[] args) { \/\/java 用for循环为一个字符串数组输入从a到z的值。 String[] arr = new String['z' - 'a' + 1]; String result = ""; for(int i = 0,j = 'a'; i < arr.length; i++,j++){ arr[i] = j+...

java中怎么对一组具有对应数字的字母排序
return -1;} else if (this.getI() == o.getI()) { \/\/ 数字相等开始比较字母 \/\/ char型强转成int行,A到Z各代表多少值应该都知道吧 if (this.getC() < o.getI()) { \/\/ 表示当前实例的位置在o之前 return -1;} else if (this.getC() == o.getI()) { \/\/ 表示当前实例...

相似回答
大家正在搜