//1.现有一个数组,要求对数组进行倒置并且按照如下格式输出
//Int[] arr = {11,22,33,44,55,66,77}
//输出结果77-66-55-44-33-22-11
public class Demo01 {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55,66,77};
reversal(arr);
System.out.println(arrayToString(arr));
}
public static String arrayToString(int[]arr){
String result = "";
for (int i = 0; i < arr.length; i++) {
if (i == arr.length -1 ) {
result += arr[i];
}else {
result += arr[i]+"-";
}
}
return result;
}
public static void reversal (int [] arr){
for (int i = 0; i < arr.length/2; i++) {
int temp = 0;
temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
}
}
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} ;
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[] removeZero = removeZero(oldArr);
System.out.println(Arrays.toString(removeZero));
}
public static int[] removeZero (int [] arr){
int length = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] != 0) {
length++;
}
}
int [] newArr = new int [length];
int index = 0;
for (int j = 0; j < arr.length; j++) {
if (arr[j] != 0) {
newArr[index] = arr[j];
index++;
}
}
return newArr;
}
3.现在给出两个数组
数组A:1,7,9,11,13,15,17,19
数组B:2,4,6,8,10
编写一个方法实现将两个数组合并成一个新的数组c,并且按照升序 排序
public static void main(String[] args) {
int [] arrA = {1,7,9,11,13,15,17,19};
int [] arrB = {2,4,6,8,10};
int[] mergeArr1 = mergeArr(arrA,arrB);
Arrays.sort(mergeArr1);
System.out.println(Arrays.toString(mergeArr1));
}
public static int [] mergeArr(int []... arrs){
int totalLenght = 0;
for (int[] arr : arrs) {
totalLenght += arr.length;
}
int [] totalArr = new int[totalLenght];
int dest = 0;
for (int[] arr : arrs) {
System.arraycopy(arr, 0, totalArr, dest, arr.length);
dest += arr.length;
}
return totalArr;
}