美文网首页
二、数组

二、数组

作者: 圣贤与无赖 | 来源:发表于2018-08-19 19:36 被阅读6次

    一、定义打印数组元素方法,按照给定的格式打印[11, 33, 44, 22, 55]

    题目分析:

           通过观察发现,本题目要实现按照指定格式,打印数组元素操作

    1.通过循环,我们可以完成数组中元素的获取,数组名[索引]

    2.观察发现,每个数组元素之间加入了一个逗号”,”进行分隔;并且,整个数组的前后有一对中括号”[]”包裹数组所有元素。

    解题步骤:

    1.使用输出语句完成打印 左边的中括号”[”

    2.使用循环,输出数组元素值。输出元素值分为两种情况,如下:

        最后一个数组元素,加上一个右边的中括号”]”

        非最后一个数组元素,加上一个逗号”,”

    代码如下:

    //打印数组

    public static void printArray(int[] arr) {

       System.out.print("[");

       for (int i = 0; i < arr.length; i++) {

          if (i == arr.length - 1) {

            System.out.println(arr[i]+"]");

          }else {

            System.out.print(arr[i]+",

    ");

          }

       }

    }

    二、数组元素逆序存储

    题目分析:

           通过观察发现,本题目要实现原数组元素倒序存放操作。即原数组存储元素为{11,22,33,44},逆序后为原数组存储元素变为{44,33,22,11}。

    1.通过图解发现,想完成数组元素逆序,其实就是把数组中索引为start与end的元素进行互换。

    2.每次互换后,start索引位置后移,end索引位置前移,再进行互换

    3.直到start位置超越了end位置,互换结束,此时,数组元素逆序完成。

    解题步骤:

    1.定义两个索引变量start值为0,变量end值为数组长度减去1(即数组最后一个元素索引)

    2.使用循环,完成数组索引start位置元素与end位置元素值互换。

    3.在循环换过程中,每次互换结束后,start位置后移1,end位置前移1

    4.在循环换过程中,最先判断start位置是否超越了end位置,若已超越,则跳出循环

    代码如下:

    //数组元素逆序

    public static void receive(int[] arr){

       for (int start = 0, end = arr.length-1; start < end; start++,end--) {

          int temp = arr[start];

          arr[start] = arr[end];

          arr[end] = temp;

       }

    }

    三、数组元素查找索引位

    题目分析:

           通过观察发现,本题目要实现查找指定数值第一次在数组中存储的位置(索引),返回该位置(索引)。

    1.我们可以通过遍历数组,得到每个数组元素的值

    2.在遍历数组过程中,使用当前数组元素值与要查找的数值进行对比

        a)数值相等,返回当前数组元素值的索引

        b) 整个循环结束后,比对结果数值没有相等的情况,说明该数组中没有存储要查找的数值,此时,返回一个索引值-1,来表示没有查询到对应的位置。(使用 -1来表示没有查询到,是因为数组的索引没有负数)

    解题步骤:

    1.使用for循环,遍历数组,得到每个数组元素值

    2.在每次循环中,使用if条件语句进行当前数组元素值与要查找的数值进行对比,若比较结果相等,直接返回当前数组元素的索引值

    3.若整个循环结束后,比对结果数值没有相等的情况,说明该数组中没有存储要查找的数值,此时,返回一个索引值-1

    public static int getArrayIndex(int[] arr, int number) {

       //定义index变量,记录要返回的索引的位置

       int index = -1;

       //把数组中的元素依次与指定的数值 进行比较

       for (int i = 0; i < arr.length; i++) {

          if (arr[i] == number) {

            //找到了

            index = i;

            break;

          }

       }

       return index;

    }

    相关文章

      网友评论

          本文标题:二、数组

          本文链接:https://www.haomeiwen.com/subject/tsfhiftx.html