黑马程序员技术交流社区

标题: 数组------复习 [打印本页]

作者: 潘耿威    时间: 2016-3-28 20:53
标题: 数组------复习
import java.util.Scanner; //导入包

class DemoForDay05 { // 类名

    public static void main(String[] args) {
        ///int[] arr = new int[]{4    ,1,6,8,7,9,2};

//demo1    遍历   
        //traversalAndPrint(arr);
//demo2 最值
//        int max = getMax(arr);
//        System.out.println("最大值是:" + max);
//demo3 反转
//        reverse(arr);
//        traversalAndPrint(arr);
//demo4 查表
//        System.out.println(getWeek(4));
//demo5 基本查找
//        System.out.println(getIndex(arr, 1));







/**
    二维数组求和
*/
        int[][] arr = {{31,12,53,64},{15,14,315,62,11}};

        int sum = getMax(arr);
        
        
        System.out.println(sum);



    }
   
public static int mySum(int[][] arr){
    int sum = 0;
    for(int i = 0;i< arr.length; i++){
        for(int j=0;j<arr[i].length;j++){
            sum += arr[i][j];
        }
    }
    return sum;
}
public static int getMax(int[][] arr){
    int max = arr[0][0];
    for(int i = 0;i< arr.length; i++){
        for(int j=0;j<arr[i].length;j++){
            //遍历每一个
            if(max < arr[i][j]){
                max = arr[i][j];
            }
        }
    }
    return max;
}
   


    /**
     *      数组遍历:就是依次输出数组中的每一个元素。
         数组的属性:arr.length数组的长度
         数组的最大索引:arr.length - 1;
     */
    public static void traversalAndPrint(int[] arr){
            for (int i = 0;i < arr.length ;i++ ) {
                System.out.print(arr[i] + " ");
            }

    }
    /**
     * 数组获取最值(获取数组中的最大值最小值)
     * @param arr
     */
    public static int getMax(int[] arr){        
        int max = arr[0];
        for (int i = 1;i < arr.length ;i++ ) {        //从数组的第二个元素开始遍历
            if (max < arr[i]) {                        //如果max记录的值小于的数组中的元素
                max = arr[i];                        //max记录住较大的
            }
        }

        return max;   

    }
    /**
     *     数组元素反转(就是把元素对调)
     * @param //int[] arr = new int[]{4,1,6,8,7,9,2};
                                     {2,9,7,8,6,1,4}
     * @return
     */
    public static void reverse(int[] arr){        
        //length= 7/2.....=2
            for (int i = 0;i < arr.length / 2 ; i++) {
                //arr[0]-->4和arr[arr.length-1-0]-->2交换
                //arr[1]-->1和arr[arr.length-1-1]-->9交换
                //arr[2]和    arr[arr.lentth-1-2]
                //...
                int temp = arr[i];
                arr[i] = arr[arr.length-1-i];
                arr[arr.length-1-i] = temp;
            }
    }
    /**
     * 数组查表法(根据键盘录入索引,查找对应星期)
     * @param arr
     * @return
     */
    public static char getWeek(int week){   
        char[] arr = {' ','一','二','三','四','五','六','日'};        //定义了一张星期表
        return arr[week];                                            //通过索引获取表中的元素
    }
   
    /**
     * 基本查找
     */
    public static int  getIndex(int[] arr ,int value){
        int index = -1;
        for (int i = 1; i < arr.length; i++) {
            if(arr[i] == value){
                index = i;
            }
        }
        return index;
    }
}



作者: yy0328    时间: 2016-3-28 21:51
感谢 版主分享昂




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2