0
点赞
收藏
分享

微信扫一扫

定义一个数组来存储12个学生的成绩{72,89,65,58,87,91,53,82,71,93,76,68},计算学生的平均成绩。学生的成绩大于平均成绩的学生成绩缩容到一个新数组中,并从高到低排序

package constructorandoverload9;
import java.util.Arrays;

public class ScoreAverage {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/** 定义一个数组来存储学生成绩 */
		int[] arr = { 72, 89, 65, 58, 87, 91, 53, 82, 71, 93, 76, 68 };

		/** 调用方法 */
		int average = ScoreAverage.getAverage(arr);
		System.out.println("数组的平均值为:" + average);
		/**
		 * 求出数组中成绩大于平均成绩的学生个数,以便创建一个新数组进行储存
		 */
		int count = 0;
		for (int i = 0; i < arr.length; i++) {
			if (arr[i] > average) {
				count++;
			}
		}
		// System.out.println("个数"+count);
		/**
		 * 创建一个新数组,数组长度为count;
		 */
		int[] newarr = new int[count];
		/** 
		 * 调用Arrays.sort()方法对数组进行排序
		 * for循环进行遍历 
		 */
		Arrays.sort(arr);
		
		for (int i = 0; i < arr.length; i++) {
			if (arr[i] > average) {
				newarr[count-1] = arr[i];
				count--;
			}
		}
		/*for (int i : newarr) {
			System.out.println(i);
		}*/
		System.out.println("排序后的数组为:"+Arrays.toString(newarr));
		
	}

	/**
	 * 定义一个方法求取数组平均值 1.参数 int[] arr 2.返回值类型 int
	 */
	public static int getAverage(int[] arr) {
		/**
		 * 定义一个变量接收成绩之和sum 定义一个变量接收平均值
		 */
		int sum = 0;
		int average = 0;
		for (int i = 0; i < arr.length; i++) {
			sum += arr[i];
		}
		/** 求平均值 */
		average = sum / arr.length;
		return average;
	}

}
举报

相关推荐

0 条评论