Bootstrap

第4关:数组练习-平均值和最大值

任务描述

本关任务:编写一个能计算数组平均值和最大值的小程序。

相关知识

为了完成本关任务,你需要知道:1.如何获取数组的长度,2.如何遍历数组。

获取数组的长度

数组的length属性用于记录数组中有多少个元素或存储单元,即记录数组的长度是多少。

 
  1. int[] nums = new int[10];//声明一个int型数组并动态初始化其大小为10
  2. System.out.println(nums.length);//显示当前数组的大小

输出:10

遍历数组

通俗的理解,遍历数组就是:把数组中的元素都看一遍

示例如下:

 
  1. int[] arr = {1,3,5,7,9};
  2. for(int i = 0 ; i<arr.length; i++){
  3. System.out.print(arr[i] + ",");
  4. }

输出:1,3,5,7,9

如何求出最大值

要求出数组的最大值,是不是很像是打擂台呢?

对于一群人我们不知道谁最厉害,所以我们准备一个擂台,并挑选第一个人为擂主(max),擂台下的人不断的(循环)来挑战擂主,如果赢了那挑战者就是擂主,之前的擂主就下台了,直到没有挑战者了,那最后一个擂主就是最厉害的那个了。

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,计算并输出数组的平均值和最大值。

测试说明

我会对你编写的代码进行测试:

测试输入:49151232; 预期输出: 平均值:44.0 最大值:91

测试输入:511511222100; 预期输出: 平均值:57.2 最大值:151

提示:

 
  1. int a = 3;
  2. int b = 2;
  3. System.out.println(a/b);
  4. System.out.println((double)a/b);

输出: 1 1.5


开始你的任务吧,祝你成功!

package step3;

import java.util.Scanner;

public class HelloWorld {
		public static void main(String[] args) {
			Scanner sc = new Scanner(System.in);
			int[] scores = new int[sc.nextInt()];

			//循环给数组赋值

			for(int i = 0 ; i < scores.length; i++) {
				scores[i] = sc.nextInt();
			}

			/********** Begin **********/

			//在这里计算数组scores的平均值和最大值

			int sum = 0 ;
			int max = 0 ;
			for(int j=0 ; j < scores.length; j++) {
				sum = sum + scores[j] ;
				if(max < scores[j]) {
					max = scores[j] ;
				}
			}

			System.out.println("平均值:" + (double)sum / scores.length );
			System.out.println("最大值:" + max );

			/********** End **********/
		}
}

;