java中怎么从一个数组中截取一定长度的元素放到新数组中

可以直接用Arrays的静态方法copyOfRange(int[] original, int from, int to)。下面是一个简单的演示程序。

1
2
3
4
5
6
7
8
9
10
11
public  class  SlipArray
{
     public  static  void  main(String[] args)
     {
         int  [] data = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 };
         int  [] newData;
         newData = Arrays.copyOfRange(data,  2 7 );
         for ( int  i:newData)
             System.out.print(i+ " " );
     }
}

对啊, 本身这个数组实例化的时候就已经指定了它的长度, 你只能修改数组里的元素, 不能再实例化以后对其长度进行修改, 当然你可以在声明数组不实例化
String a[];
然后确定你所有元素后进行实例化
a = new String[长度]
最后把元素添加上

java 数组中插入新的元素

 

class Demo1
{
public static void main(String[] args)
{

/*
5. 有如下歌曲数组

String[] musics = new String[]{"Island","Ocean","Pretty","Sun"};
//这是按照字母顺序排好序的 字符串数组

现在要往里面插入新的英文歌曲,
按照首字母排序插入到指定的位置

提示: musics[i].compareToIgnoreCase(music) > 0
上面这个方法是比较字符串的方法,
如果前面的值大返回1,如果后面的大于前面的,返回-1,或者等于前面的,返回0

*/
String[] musics = new String[]{"Island","Ocean","Pretty","Sun"};

//1.用冒泡排序,给歌曲排序
for(int i = 0;i<musics.length-1;i++){

for(int j = 0; j<musics.length-1-i;j++){

if( musics[j].compareToIgnoreCase(musics[j+1])>0){

//如果前面的大于后面的就交换位置
String temp = musics[j];
musics[j] = musics[j+1];
musics[j+1] = temp;


}
}
}

//插入一个歌曲
String[] newMusics = new String[musics.length+1];

//定义一个插入的歌曲
String songName = "Love";


//用循环让songName 和 原歌曲列表做对比

//默认就在第一个
for(int i = 0;i<musics.length +1;i++){

if(i == 0){

newMusics[i] = songName;
}


newMusics[i] = musics[i-1];

}

//将数组在一个插入排序。 /*查资料*/


//遍历数组
for(int i = 0;i<musics.length;i++){

System.out.println(musics[i]);

}
}
}

猜你喜欢

转载自weitao1026.iteye.com/blog/2375137