欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

Java语言程序设计A基础实验2:控制流程

  • 资源ID:155515024       资源大小:173.50KB        全文页数:11页
  • 资源格式: DOC        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

Java语言程序设计A基础实验2:控制流程

.实验课程名称:Java语言程序设计A实验项目名称基础实验2:控制流程实验成绩实 验 者专业班级组 别同 组 者无开始日期第一部分:实验预习报告包括实验目的及意义,实验基本原理与方法,主要仪器设备及耗材,实验容及要求,实验方案与技术路线等一实验目的及意义控制流程选择、循环的应用。二实验基本原理与方法1选择。2循环。三主要仪器设备及耗材1PC及其兼容机。2计算机操作系统。3程序编辑器EditPlus。4Java开发工具JDK。四实验容及要求基础实验2-1:从键盘读取一个考试分数列表,计算它们的平均分。基础实验2-2:从键盘读取一个考试分数列表,计算它们的最高分、最低分。基础实验2-3:从键盘读取一个考试分数列表,计算总考试人数和每个级别的人数90100优,8089良,7079中,6069及格,059不及格。基础实验2-4:将实验2-1、2-2、2-3综合起来,从键盘读取一个考试分数列表,统计:总考试人数、最高分、最低分、平均分、每个级别的人数、每个级别的人数占总考试人数的百分比。五实验方案及技术路线设计思路、算法、考前须知 考虑到从键盘中读取的考试分数个数不确定,并且分数有可能重复,所以此处使用ArrayList集合储存double类型数据,决定采用dowhile循环实现不断从键盘读取分数值,之后结合for循环及if语句的使用,计算集合中的分数的平均分、最高分和最低分以及各个分数级别人数和所占百分比等等。 因为dowhile循环是先执行do中的代码再判断,所以最后输入的负数会被存入集合的末尾,应该要将其删除,用语句marks.remove(marks.size()-1)实现。第二部分:实验过程记录可加页代码、运行结果、实验中出现的问题及解决过程n 实验2-1程序代码如下:import java.util.*;publicclassTest05staticdoubleaverage;publicstaticvoid main(String args)doublemarkIn;Scanner sc=new Scanner(System.in);List<Double> marks=new ArrayList<Double>();doSystem.out.print("请输入一名学生成绩输入负数结束:");markIn=sc.nextDouble();marks.add(markIn);while(markIn>=0);intlen=marks.size()-1;marks.remove(len);for(inti=0;i<len;i+)average+=marks.get(i)/len;System.out.print(len+"名学生成绩的平均分为:"+average);运行结果如下:n 实验2-2程序代码如下:import java.util.*;publicclassTest06 publicstaticvoid main(String args)doublemarkIn,max,min;Scanner sc=new Scanner(System.in);List<Double> marks=new ArrayList<Double>();doSystem.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)min=item;System.out.println("学生分数列表:"+marks);System.out.println("最低分:"+min+"n"+"最高分:"+max);运行结果如下:n 实验2-3程序代码如下:import java.util.*;publicclass Test07 publicstaticvoid main(String args) doublemarkIn;intgradeA=0,gradeB=0,gradeC=0,gradeD=0,fail=0;Scanner sc=new Scanner(System.in);List<Double> marks=new ArrayList<Double>();try doSystem.out.print("请输入一名学生成绩输入负数结束:");markIn=sc.nextDouble();marks.add(markIn);while(markIn>=0);marks.remove(marks.size()-1); catch (Exception e) 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);运行结果如下:n 实验2-4程序代码如下:import java.util.*;publicclass Test08 publicstaticvoid main(String args)try List<Double> marks=new ArrayList<Double>();getMark(marks);judgeMark(marks); catch (InputMismatchException e) System.err.print("输入有误,只能输入数字!");publicstaticvoid getMark(List<Double> marksIn) throws InputMismatchExceptiondoublemarkIn;Scanner keyBoard=new Scanner(System.in);doSystem.out.print("请输入一名学生成绩输入负数结束:");markIn=keyBoard.nextDouble();if(markIn>100) System.err.println("分数值为0-100");elsemarksIn.add(markIn);while(markIn>=0);marksIn.remove(marksIn.size()-1);publicstaticvoid judgeMark(List<Double> marksIn)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)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"+"平均分:"+avg+"n"+"最低分:"+min+"n"+"最高分:"+max);System.out.println("90到100分数段的人数:"+number_A+"占总分数的"+number_A*100.0/num+"%");System.out.println("80到90分数段的人数:"+number_B+"占总分数的"+number_B*100.0/num+"%");System.out.println("70到80分数段的人数:"+number_C+"占总分数的"+number_C*100.0/num+"%");System.out.println("60到70分数段的人数:"+number_D+"占总分数的"+number_D*100.0/num+"%");System.out.println("60分以下的人数:"+number_Fail+"占总分数的"+number_Fail*100.0/num+"%");运行结果如下:1)当输入错误时,给出提示如下:2) 当输入分数大于100时给出提示如下:3) 正常输入后结果如下:教师签字_第三部分 结果与讨论可加页一、 实验结果分析包括数据处理、影响因素讨论、综合分析和结论等试验中使用ArrayList集合解决了考试人数不确定问题,最后也可以很方便的通过.size方法的出考试人数,同时,在本次实验中是使用dowhile来实现重复输入,其实也可以使用for循环实现此功能,在遍历集合求最大值、最小值、平均值、个分数级别的人数等等功能的时候,也可以使用增强的for循环来实现遍历,因为试验中不需要更改集合中的数值。此外,实验中在对最大值max和最小值min赋初值时一开始使他们的初值为0,但后来调试中发现得出的最小值始终未0,所以应当使他们的初始值为集合marks中的第一个值,这样才能得出正确的结果。二、小结、建议及体会 程序中代码比较长的时候,通常将为将不同的功能实现写成不同的方法,最后只需要在main方法中调用即可,这样不仅大大增强了程序的可读性,并且通过模块化也能减少出错的概率,是调理更加清晰。此外,实验中对输入错误的处理还不够成熟,每当用户输入错误时能够提示用户输入错误,但提示完后,用户需要从头进行输入,这不是很好的用户体验,应再对程序进行改进,每次用户输入错误或者误操作,只需要重新输入当前的数值即可,无需重来来过。-

注意事项

本文(Java语言程序设计A基础实验2:控制流程)为本站会员(无***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!