package _04_方法练习;

import java.util.Random;

public class Test5 {
    public static void main(String[] args) {
        /**
         * - 生成每日销量数组     数组是一个长度为30 , 里面元素是随机数 10-50
         * - 计算全月总销量      // 求数组和
         * - 找出本月销量最高的那一天及销量    求最大值 所在那一天
         * - 统计销量超过 30 本的天数（“畅销日”）    大与30 的有多少天
         */

        // 创建销量数组
        int[] arr = generateDailySales();
        System.out.println(arr);
        // 总销量
        int sum = calculateTotalSales(arr);
        System.out.println("总销量:"+ sum);
        // 找出来销量最高的那一天
        int max =findMaxSaleDay(arr);
        System.out.println("这是销量最高的第:"+ max +"天");
        // 统计畅销日
        int count = countBestSellingDays(arr);
        System.out.println("这个月的畅销日一共有" + count +"天");
    }

    private static int countBestSellingDays(int[] arr) {
        int count = 0 ;
        // 遍历数组
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]> 30){
                count ++;
            }
        }
        return count;
    }
    //求销量最高的那一天
    private static int findMaxSaleDay(int[] arr) {
        // arr[0] 第二大元素   第一大元素 第30天数
        int max = arr[0];
        int day = 1;

        // 遍历看数组当中值那一个比天数大
        for (int i = 1; i < arr.length; i++) {
            if(arr[i]> max){
                max = arr[i];
                day++;
            }
        }
        return day;
    }
    // 求总销量
    private static int calculateTotalSales(int[] arr) {
        int sum = 0;
        for (int i : arr) {
            sum += i;
        }
        return sum;
    }
    /**
     * 返回一个销售数组
     * @return
     */
    private static int[] generateDailySales() {
        // 1 定义一个长度为30 的数组
        int[] arr = new int[30];
        // 2 创建一个Random
        Random random = new Random();
        // 3 遍历数组, 把随机数设置到数组当中
        for (int i = 0; i < arr.length; i++) {
            // 每一天销量10-50
            // 0-40  10-50
            arr[i] = random.nextInt(41) +10;
        }
        return arr;

    }
}
