java学习之数组练习

1.给定两个数组a{1,2,3,4}, b{5,6,7,8}将两个数组内的元素对应的位置交换。

// 方法一,按索引交换元素
public class test{
    public static void main(String[] args){
        int[] a = {1,2,3,4};
        int[] b = {5,6,7,8};
        // int[] c = new[5];
        for(int i =0;i<4;i++){
            int x = a[i];
            a[i] = b[i];
            b[i] = x;   
        }
        for(int num:b){
            System.out.println(num);
        }
    }
}

// 方法二,两数组长度不一致,交换引用hashcode地址
public class test{
    public static void main(String[] args){
        int[] a = {1,2,3,4};
        int[] b = {5,6,7,8,9,10};
        int[] c = new int [4];
        c = a;
        a = b;
        b = c;
        for(int num : a){
            System.out.println(num);
       }
    }
}

2.给定一个数组a{1,2,3,4,5,6}将这个数组倒叙

public class test{
    public static void main(String[] args){
        int[] array = {1,2,3,4,5,6};
        for(int index=0;index<array.length/2;index++){
            int x = array[(array.length-1)-index];
            array[(array.length-1)-index] = array[index];
            array[index] = x;
        }
        for(int num:array){
            System.out.println(num);
        }       
    }
}

3.给定一个数组a{1,4,3,5,6,8,7,9,2,0}找寻数组中最大值和最小值

public class test{
    public static void main(String[] args){
        int[] array = {1,4,3,5,6,8,7,9,2,0};
        int big_num = 0;
        int little_num = 0;
        for(int index=0;index<array.length;index++){
            if(array[index]>big_num){
                big_num = array[index];
            }else{
                little_num = array[index];
            }
        }System.out.println("big_num"+big_num+"little_num"+little_num);
    }
}

4.给定一个数组a{1,2,3,0,0,4,5,0,6,7},去掉数组中的0元素(创建一个新的数组,非0元素挑出来)

public class test{
    public static void main(String[] args){
        int[] array = {1,2,3,0,0,4,5,0,6,7};
        int num = 0; //计数,0的个数,确定新数组的长度
        int newArrayIndex =0;
        for(int index=0;index<array.length;index++){
            if(array[index]==0){
                num++;
            }
        }
        int[] newArray=new int [array.length-num];
        for(int value:array){
            if(value != 0){
                newArray[newArrayIndex] = value;
                newArrayIndex ++;
            }
        }
        for(int value:newArray){
            System.out.println(value);
        }       
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值