Java简单题目分析
1.题目要求
- 定义一个方法
analyzeScores(int[] scores),接收一个存储学生成绩的整型数组。 - 在方法内部完成以下统计:
- 计算平均分(保留 1 位小数)
- 找出最高分和最低分
- 统计及格(≥60 分)和不及格(<60 分)的人数
- 在 main 方法中定义一个成绩数组(例如:
{85, 92, 58, 77, 63, 45, 98, 70}),调用该方法并输出所有统计结果。 - 要求使用循环结构遍历数组,使用分支结构判断成绩是否及格。
2.思路分析
1.先写一个以analyzeScores(int[] scores)命名的方法;
2.在main方法里写变量arr;
3.在analyzeScores(int[] scores)方法内部定义初始化变量:sum(总和),max(最高分),min(最低分),paassCount(及格),failCount(不及格);
4.使用for循环遍历数组,找出最大值,最小值,及格人数,不及格人数;
5.在for循环外使用强制类型转换去求平均数;
6.在analyzeScores 里打印出最大值,最小值,及格人数,不及格人数;
7.再在main方法中调用analyzeScores 方法.
3.解题过程
public class day01 { public static void main(String[] args) { //设一个变量arr int[] arr = {85,92,58,77,63,45,98,70}; //调用analyzeScores 方法 analyzeScores(arr); } //以analyzeScores(int[] scores)命名的方法 public static void analyzeScores(int[] arr){ //定义初始化变量 int sum = 0; int max = arr[0]; int min = arr[0]; int passCount = 0; int failCount = 0; //使用for循环遍历数组 for (int i = 0; i < arr.length; i++) { int brr =arr[i]; sum += brr;//这个是求总和了,方便下面求平均数 if (brr>max) { max = brr; } else if (brr < min) { min = brr; } if (brr >=60) { passCount++; }else { failCount++; } } //强制转换求平均数 double average = (double) sum / arr.length; //打印出最大值,最小值,及格人数,不及格人数 System.out.println("最大值:"+max); System.out.println("最小值:"+min); System.out.println("及格人数:"+passCount); System.out.println("不及格人数:"+failCount); System.out.println("平均数:"+average); } }