1.将一个给定的整型数组转置输出,
例如: 源数组,1 2 3 4 5 6
转置以后的数组,6 5 4 3 2 1数组
根据题目能够看出来,此数据排序方式是一个冒泡排序(从前日后以此肯定元素,相邻的两个元素比较,互换位置)实现代码以下:spa
public class rain {
public static void main(String[] args) {
//冒泡排序
int[] a={1,2,3,4,5,6};
int t=0;
for (int i=1;i<a.length;i++){
for(int j=0;j<a.length-i;j++){
if(a[j]<a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}
}
运行结果:blog
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}排序
在这个题中使用循环的中的continue进行跳出存入新的数组:class
public class deliy {
public static void main(String[] args) {
int[] oldA = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
int j=0;
int[] newA=new int[oldA.length];
for (int i=0;i<oldA.length;i++){
if(oldA[i]==0){
//当oldArr中的值为0是,跳出本次循环
continue;
}
//不为0的值赋给数组newArr
newA[j]=oldA[i];
j++;//进行下一个新的数组的赋值
}
for (int k=0;k<j;k++){
//特别注意循环中K<j,你新数组存储的值的个数是等于j的,使用newA.length,没有赋到值会使用0进入数组中
System.out.print(newA[k]+",");
}
}
}
运行结果以下:
3.如今给出两个数组:
数组a:"1,7,9,11,13,15,17,19"
数组b:"2,4,6,8,10"
两个数组合并为数组c。
实现代码以下:
public class deliy {
public static void main(String[] args) {
int[] a={1,7,9,11,13,15,17,19};
int[] b={2,4,6,8,10};
int[] c=new int[a.length+b.length];
//复制从a的第一个开始复制,第一个数在数组中的下标为0,写入c,也是从第一个开始,复制长度为a数组的长度
System.arraycopy(a,0,c,0,a.length);
//复制从b的第一个开始,但在写入c的时候,应当从c数组的最后一个位置写入,它最后一个位置的下边就是数组的长度,复制长度为b数组长度
System.arraycopy(b,0,c,a.length,b.length);
for(int i=0;i<c.length;i++){
System.out.print(c[i]+",");
}
}
}
运行结果以下: