2021-09-16

这篇博客展示了如何在Java中实现数组的基本操作,包括查找数组的最大值、输入数组并查询最大值、获取指定元素的索引以及在数组中插入和删除元素。通过实例代码详细解释了每一步操作的过程,有助于理解Java数组的使用。

Java——数组(最值、插入、删除操作实现)

/*public class Array3 {
    public static void main(String[] args){
        //实现一个功能:给定一个数组int [] arr = {12,3,7,4,8,125,9,45};
        //1.给定一个数组
        int [] arr = {12,3,7,4,8,125,9,45};

        //2.找出数组中的最大数
        //先找出一个数上擂台,假定认为这个数最大;
        //调用方法
        int num = getMaxNum(arr);
        System.out.println("当前数组中最大的数为:"+num);
    }

    //提取一个方法,求数组中的最大值
    public static int getMaxNum(int [] arr) {
        int maxNum = arr[0];
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] > maxNum) {
                maxNum = arr[i];
            }
        }
        return maxNum;
    }

}*/

/*自写数组最值问题
import java.util.Scanner;

public class Array3{
    public static void main(String[] args){
        //1.输入一个数组
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[10];

        for(int i=0;i<10;i++){
            System.out.print("请输入数组中的第"+(i+1)+"个数:");
            arr [i] = sc.nextInt();
        }

        //2.调用求数组最大值的方法
        int num = getMaxNum(arr);
        System.out.println("该数组中最大的数是:"+num+"。");
    }

    //getMaxNum()方法
    public static int getMaxNum(int[] arr){
        //使用打擂思想,假定arr[0]为最大值,依次进行打擂
        int maxNum = arr[0];
        for(int i = 0;i<arr.length;i++){
            if(arr[i]>=maxNum){
                maxNum = arr[i];
            }
        }
        return maxNum;
    }

}*/

/*学习:数组查询
public class Array3 {
    public static void main(String[] args) {
        //查询指定位置的元素
        //给定一个数组:
        int [] arr = {12,34,56,7,3,56};
        //  缩影        0  1  2  3 4 5
        //找出索引为2的位置上对应的元素是什么?
        System.out.println(arr[2]);

        //功能:查询元素56对应的索引
        int index = getIndex(arr,56);
        if(index!=-1){
            System.out.println("元素对应的索引:"+index);
        }else{
            System.out.println("查无此数!");
        }

    }

    /*定义一个方法,查询数组中指定元素对应的索引
    不确定因素:数组,哪个元素(形参)
    返回值:索引
     */
/*     public static int getIndex(int[] arr,int ele){
        int index = -1;  //这个初始值只要不是数组索引即可
        for(int i=0;i<arr.length;i++){
            if(arr[i]==ele){
                index=i;
                break;  //只要找到这个元素,循环就停止;
            }
        }
        return index;
    }
}*/

/*
import java.util.Scanner;

//自写数组查询
public class Array3{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        //1.定义一个数组
        int arr [] = new int[6];
        //数组初始化arr[6]={2,45,14,12,26,35}
        for(int i=0;i<arr.length;i++){
            System.out.print("请输入第"+(i+1)+"个元素:");
            arr[i] = sc.nextInt();
        }
        //输出完整数组
        System.out.println("你输入的数组是:");
        for(int j=0;j< arr.length;j++){
            System.out.print(arr[j]);
        }

        //2.查询指定位置的元素,以第3个元素为例
        System.out.println("第三个元素是:"+arr[2]+"。");

        //3.查询指定元素的位置索引,查询
        System.out.println("请输入要查询位置的元素:");
        int num = sc.nextInt();
        int Index = getIndex(arr,num);
        System.out.println("元素"+num+"对应的索引位置是:"+Index+"。");

    }

    //定义getIndex()方法  返回值是索引位置;输入参数为数组,数值
    public static int getIndex(int [] arr,int ele){
        int index = -1;
        for(int i=0;i<arr.length;i++){
            if(arr[i]==ele){
                index = i;
                break;  //查询第一个符合要求的元素
            }
        }
        return index;
    }

}*/
/*
import java.util.Scanner;

public class Array3{
    public static void main(String[] args){
        //1.给定一个数组
        int [] arr = {12,34,56,7,3,10};
        //2.输出增加元素前的数组
        System.out.println("输入的数组是:");
        for(int i = 0;i<arr.length;i++) {
            if (i != arr.length - 1) {
                System.out.print(arr[i] + ",");
            } else {
                System.out.print(arr[i]); //最后一个元素不加,
            }
        }
        System.out.println(); //换行

        //从键盘接收数据
        Scanner sc = new Scanner(System.in);
        //3.增加元素
        /*
        arr[5]=arr[4];
        arr[4]=arr[3];
        arr[3]=arr[2];
         */
/*        System.out.print("请输入添加元素的索引位置:");
        int Index = sc.nextInt();
        System.out.print("请输入添加的元素具体值:");
        int Elem = sc.nextInt();
        insertElem(arr,Index,Elem);

        //4.输出增加元素后的数组
        System.out.println("\n增加元素后的数组是:");
        for(int i=0;i<arr.length;i++){
            if(i!=arr.length-1){
                System.out.print(arr[i]+",");
            }else{
                System.out.print(arr[i]);
            }
        }
    }

    //将添加功能提取为方法
    //不确定因素:哪个数组?哪个位置?哪个元素?
    //返回值:void
    public static void insertElem(int [] arr,int index,int ele){

        for(int i = arr.length-1;i>=(index+1);i--){
            arr[i]=arr[i-1];
        }
        arr[index]=ele;
    }

}
*/


import java.util.Arrays;
public class Array3{//删除指定位置的元素
    public static void main(String[] args) {
        //功能:给定一个数组,删除下标为2的元素/删除元素3

        //1.给定一个数组;
        int [] arr = {12,34,56,7,3,10,34,45,56,7,666};
        //             0  1  2  3  4  5

        //2.输出未删除前的数组
        System.out.println(Arrays.toString(arr));  //Arrays.toString(arr);

        //找到要删除元素的索引
        int index = -1;  //初值为-1
        for(int i = 0;i<arr.length;i++){
            if(arr[i]==3){  //删除指定的元素
                index = i;
                break;
            }
        }

        //3.删除元素
        /*
        arr [2] = arr [3];
        arr [3] = arr [4];
        arr [4] = arr [5];
        arr [5] = 0;
         */
        if(index!=-1) {
            for (int i = index; i <= arr.length - 2; i++) {
                arr[i] = arr[i + 1];
            }
            arr[arr.length - 1] = 0;
        }else{
            System.out.println("根本没有你要找的元素!");
        }
        //4.输出删除后的数组
        System.out.println("删除元素后的数组是:"+Arrays.toString(arr));
    }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值