A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 强晨曦 中级黑马   /  2015-10-18 23:55  /  250 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
某公司各个季度的收益额(单位:万元):
        第一季度:33,55,77
        第二季度:88,44,99
        第三季度:77,66,88
        第四季度:22,99,55
需求一:
        求各个季度的收益总和
需求二:
        求各个季度的平均收益
需求三:
        求收益最高的季度,并打印该季度的收益额
*/
class Test5_ArrayCalculate{
        public static void main(String[] args) {
                int[][] arr = {{33,55,77},{88,44,99},{77,66,88},{22,99,55}};
                int sum = getSum(arr);
                System.out.println("sum=" + sum);
                int average = getAverage(arr);
                System.out.println("average=" + average);
                int max = getMax(arr);
                System.out.println("max=" + max);
        }
        /*
        需求一分析:
                1,定义一个求和变量。
                2,遍历二维数组中的所有元素,让所有元素相加。
                3,将累加的和返回。
        求和:
                1,返回值类型:int
                2, 参数列表:int[][] arr
        */
        public static int getSum(int[][] arr) {
                //定义变量
                int sum = 0;
                //遍历数组
                for(int i = 0; i < arr.length; i++) {
                        for(int j = 0; j < arr[i].length; j++) {
                                sum = sum + arr[i][j];
                        }
                }
                return sum;
        }
        /*
        需求二分析:
                1,定义一个变量来接收平均值。
                2,遍历数组,获取数组中的所有元素。
                3,先求和,然后用总和除以4,就是每个季度的平均收益。
                4,将平均值返回。
        求平均值:
                1,返回值类型:int
                2,参数列表:int[][] arr
        */
        public static int getAverage(int[][] arr) {
                int average = 0;
                int sum = 0;
                for(int i = 0; i < arr.length; i++) {
                        for(int j = 0; j < arr[i].length; j++) {
                                sum = sum + arr[i][j];
                                average = sum / 4;
                        }
                }
                return average;
        }
        /*
        需求三分析:
                1,定义一个变量max来接收最大值,将第一个一维数组中的第一个元素作为较大的数。
                2,遍历数组中的所有元素。
                3,将数组中的元素与较大的数进行比较。
                        如果大于较大的数,那么max记录当前较大的数。
                        比较完所有的元素之后,较大的数就是最大值。
                4,将最大的数返回
        求最大值:
                1,返回值类型:int
                2,参数列表:int[][] arr
        */
        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;
        }
}

1 个回复

倒序浏览
基本都理解了,  引导思维不错,运用了数组求和,最大值和平均值, 辛苦了,早点休息吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马