关于数组的练习题

//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);   //Arrays.sort排序
		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);
			//指定数组,索引0开始,目标数组,变化索引,copy长度
			//( src,   srcPos,   dest,  destPos, length);
			      
			dest += arr.length;
		}
		return totalArr;
	}
		

猜你喜欢

转载自blog.csdn.net/Mz8520/article/details/89356563