数组练习

1.将一个给定的整型数组转置输出,
例如: 源数组,1 2 3 4 5 6
转置之后的数组,6 5 4 3 2 1

思路:使用冒泡排序将最大的数依次排出

代码:

public static void main(String[] args) {
int[] a ={1,2,3,4,5,6};
for(int i=0;i<5;i++){
for(int j=0;j<5-i;j++){
if (a[j]<a[j+1]){
int t;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0;i<6;i++){
System.out.print(a[i]+" ");
}
}

 

 

2.现在有如下的一个数组:
int[] oldArr = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:
int[] newArr = {1,3,4,5,6,6,5,4,7,6,7,5} ;

思路:将老数组中的数移进新数组当中时,先判断是否为0,不为0时再将数放入,其次要注意的是要重新声明一个数作为新数组的下标,每次加入的数数值就加一。

代码:

public static void main(String[] args) {
int[] oldArr = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
int[] newArr = new int[20];
int t=0;
for(int i=0;i<oldArr.length;i++){

if(oldArr[i]!=0){
newArr[t]=oldArr[i];
t++;
}
}
for(int i=0;i<newArr.length;i++){
if(newArr[i]==0)
break;
System.out.print(newArr[i]+" ");

}
}

结果截图:

 

3.现在给出两个数组:
数组a:"1,7,9,11,13,15,17,19"
数组b:"2,4,6,8,10"
两个数组合并为数组c。

思路:使用.length函数计算数组a和数组b的长度作为c的容量大小,接着就是循环依次将a,b的数加入,要注意的是同样需要声明一个新的数作为c数组的下标,每次加入新的数时数值加1。

代码:

public static void main(String[] args) {
int[] a = {1,7,9,11,13,15,17,19};
int[] b = {2,4,6,8,10};
int i = a.length+b.length;
int[] c = new int[i];
int n=0;
for(int j = 0 ;j<a.length;j++){
c[n]=a[j];
n++;
}
for(int j=0;j<b.length;j++){
c[n]=b[j];
n++;
}
for(int j=0;j<i;j++){
System.out.print(c[j]+" ");
}
}

运行结果截图:

 

posted @ 2019-04-23 16:31  啊龑是个大西瓜  阅读(158)  评论(0编辑  收藏  举报