实验课程名称:Java 语言程序设计 A 实验项目名称基础实验 2:控制流程实验成绩实 验 者专业班级组 别同 组 者无开始日期第一部分:实验预习报告(包括实验目的及意义,实验基本原理与方法,主要仪器设备及耗材,实验内容及要求,实验方案与技术路线等)一.实验目的及意义 控制流程(选择、循环)的应用。二.实验基本原理与方法1.选择。2.循环。三.主要仪器设备及耗材1.PC 及其兼容机。2.计算机操作系统。3.程序编辑器 EditPlus。4.Java 开发工具 JDK。四.实验内容及要求基础实验 2-1:从键盘读取一个考试分数列表,计算它们的平均分。基础实验 2-2:从键盘读取一个考试分数列表,计算它们的最高分、最低分。基础实验 2-3:从键盘读取一个考试分数列表,计算总考试人数和每个级别的人数(90~100优,80~89 良,70~79 中,60~69 及格,0~59 不及格)。基础实验 2-4:将实验 2-1、2-2、2-3 综合起来,从键盘读取一个考试分数列表,统计:总考试人数、最高分、最低分、平均分、每个级别的人数、每个级别的人数占总考试人数的百分比。五.实验方案及技术路线(设计思路、算法、注意事项) 考虑到从键盘中读取的考试分数个数不确定,并且分数有可能重复,所以此处使用ArrayList 集合储存 double 类型数据,决定采纳 do{}while()循环实现不断从键盘读取分数值,之后结合 for 循环及 if 语句的使用,计算集合中的分数的平均分、最高分和最低分以及各个分数级别人数和所占百分比等等。 因为do{}while()循环是先执行do{}中的代码再推断,所以最后输入的负数会被存入集合的末尾,应该要将其删除,用语句marks.remove(marks.size()-1)实现。第二部分:实验过程记录(可加页)(代码、运行结果、实验中出现的问题及解决过程)实验 2-1程序代码如下:import java.util.*;public class Test05{static double average;public static void main(String[] args){double markIn;Scanner sc=new Scanner(System.in);List marks=new ArrayList();do{System.out.print("请输入一名学生成绩[输入负数结束]:");markIn=sc.nextDouble(); marks.add(markIn);}while(markIn>=0);int len=marks.size()-1;marks.remove(len);for(int i=0;i