Java语言程序设计A基础实验2控制流程精心整理.docx
- 文档编号:2175977
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:13
- 大小:140.35KB
Java语言程序设计A基础实验2控制流程精心整理.docx
《Java语言程序设计A基础实验2控制流程精心整理.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计A基础实验2控制流程精心整理.docx(13页珍藏版)》请在冰豆网上搜索。
Java语言程序设计A基础实验2控制流程精心整理
实验课程名称:
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
程序代码如下:
importjava.util.*;
publicclassTest05
{
staticdoubleaverage;
publicstaticvoidmain(String[]args)
{
doublemarkIn;
Scannersc=newScanner(System.in);
List
do
{
System.out.print("请输入一名学生成绩[输入负数结束]:
");
markIn=sc.nextDouble();
marks.add(markIn);
}
while(markIn>=0);
intlen=marks.size()-1;
marks.remove(len);
for(inti=0;i { average+=marks.get(i)/len; } System.out.print(len+"名学生成绩的平均分为: "+average); } } 运行结果如下: ⏹实验2-2 程序代码如下: importjava.util.*; publicclassTest06{ publicstaticvoidmain(String[]args) { doublemarkIn,max,min; Scannersc=newScanner(System.in); List do { System.out.print("请输入一名学生成绩[输入负数结束]: "); markIn=sc.nextDouble(); marks.add(markIn); } while(markIn>=0); marks.remove(marks.size()-1); max=min=marks.get(0); for(doubleitem: marks) { if(item>max) { max=item; } if(item { min=item; } } System.out.println("学生分数列表: "+marks); System.out.println("最低分: "+min+"\n"+"最高分: "+max); } } 运行结果如下: ⏹实验2-3 程序代码如下: importjava.util.*; publicclassTest07 { publicstaticvoidmain(String[]args) { doublemarkIn; intgradeA=0,gradeB=0,gradeC=0,gradeD=0,fail=0; Scannersc=newScanner(System.in); List try{ do { System.out.print("请输入一名学生成绩[输入负数结束]: "); markIn=sc.nextDouble(); marks.add(markIn); } while(markIn>=0); marks.remove(marks.size()-1); }catch(Exceptione){ System.out.println("无效输入! "); } for(doubleitem: marks) { charch=0; if(item>=90&&item<100) { ch='A'; } if(item>=80&&item<90) { ch='B'; } if(item>=70&&item<80) { ch='C'; } if(item>=60&&item<70) { ch='D'; } if(item<60) ch='E'; switch(ch) { case'A': gradeA++;break; case'B': gradeB++;break; case'C': gradeC++;break; case'D': gradeD++;break; case'E': gradeD++;break; default: System.out.println("错误信息"); } } System.out.println("总考试人数为: "+marks.size()); System.out.println("90到100分数段的人数: "+gradeA); System.out.println("80到90分数段的人数: "+gradeB); System.out.println("70到80分数段的人数: "+gradeC); System.out.println("60到70分数段的人数: "+gradeD); System.out.println("60分以下的人数: "+gradeD); } } 运行结果如下: ⏹实验2-4 程序代码如下: importjava.util.*; publicclassTest08{ publicstaticvoidmain(String[]args) { try{ List getMark(marks); judgeMark(marks); }catch(InputMismatchExceptione){ System.err.print("输入有误,只能输入数字! "); } } publicstaticvoidgetMark(List { doublemarkIn; ScannerkeyBoard=newScanner(System.in); do { System.out.print("请输入一名学生成绩[输入负数结束]: "); markIn=keyBoard.nextDouble(); if(markIn>100) { System.err.println("分数值为0-100"); } else { marksIn.add(markIn); } } while(markIn>=0); marksIn.remove(marksIn.size()-1); } publicstaticvoidjudgeMark(List { doublemax=marksIn.get(0),min=marksIn.get(0),avg=0; intnumber_A=0,number_B=0,number_C=0,number_D=0,number_Fail=0,num=0; num=marksIn.size(); for(doubleitem: marksIn) { charch=0; avg+=item/num; if(item>max) { max=item; } if(item { min=item; } if(item>=90&&item<100) { ch='A'; } if(item>=80&&item<90) { ch='B'; } if(item>=70&&item<80) { ch='C'; } if(item>=60&&item<70) { ch='D'; } if(item<60) ch='E'; switch(ch) { case'A': number_A++;break; case'B': number_B++;break; case'C': number_C++;break; case'D': number_D++;break; case'E': number_Fail++;break; //当分数大于100时,输出此信息 //default: System.out.println("分数值为0-100");break; } } System.out.println("总人数: "+num+"\n"+"平均分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 基础 实验 控制 流程 精心 整理