1、输入若干个学生成绩,形成一个成绩数组,数量自己定。
2、统计成绩的最高分和最低分以及平均分
3、统计成绩的每个分数段所占比例。(不及格,中等,良好和优秀)
4、计算该班级成绩的方差。(方差为每个成绩减去平均分的差的平方之和)
package book2; import java.text.NumberFormat; import java.util.Arrays; import java.util.Scanner; public class Test01 { public static void main(String[] args) { double[] arrResult = new double[6]; getResult(arrResult); // 最小数 getMax(arrResult); // 最大数 getMin(arrResult); // 平均数 getAverage(arrResult); // 方差 getVariance(arrResult); // 成绩分段占比 getGrade(arrResult); // System.out.println("平均成绩为:" + getAverage(arrResult)); // System.out.println("方差为:" + getVariance(arrResult)); // System.out.println("最小成绩为:" + getMin(arrResult)); } // 输入成绩 public static void getResult(double[] arrGrade) { Scanner sc = new Scanner(System.in); for (int i = 0; i < arrGrade.length; i++) { int flage = i + 1; System.out.println("请输入第" + flage + "个成绩:"); double input = sc.nextDouble(); arrGrade[i] = input; } System.out.println("所有成绩为:" + Arrays.toString(arrGrade)); } // 求最大数 public static double getMax(double[] reMax) { double max = reMax[0]; for (int i = 0; i < reMax.length; i++) { if (reMax[i] > max) { max = reMax[i]; } } System.out.println("最大成绩为:" + max); return max; } // 求最小数 public static double getMin(double[] reMin) { double min = reMin[0]; for (int i = 0; i < reMin.length; i++) { if (reMin[i] < min) { min = reMin[i]; } } System.out.println("最小成绩为:" + min); return min; } // 求平均数 public static double getAverage(double[] arrResult) { double avernum = 0; for (int i = 0; i < arrResult.length; i++) { avernum += arrResult[i] / arrResult.length; } System.out.println("平均成绩为:" + avernum); return avernum; } // 求方差 public static double getVariance(double[] result) { double var = 0; double aver = getAverage(result); for (int i = 0; i < result.length; i++) { var += (result[i] - aver) * (result[i] - aver) / result.length; } System.out.println("方差为:" + var); return var; } // 成绩分段占比 public static void getGrade(double[] result) { double excellent = 0; double good = 0; double pass = 0; double fail = 0; for (int i = 0; i < result.length; i++) { if (result[i] < 60) { fail++; } else if (result[i] <= 70) { pass++; } else if (result[i] <= 80) { good++; } else { excellent++; } } // 创建百分数对象 NumberFormat f = NumberFormat.getPercentInstance(); // 保留两位小数 f.setMaximumFractionDigits(2); double e = excellent / result.length; double g = good / result.length; double p = pass / result.length; double fa = fail / result.length; System.out.println("优秀占比为:" + f.format(e)); System.out.println("良好占比为:" + f.format(g)); System.out.println("及格占比为:" + f.format(p)); System.out.println("不及格占比为:" + f.format(fa)); } }三、运行结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)