Java语言程序设计A基础实验2控制流程精心整理.docx

上传人:b****3 文档编号:2175977 上传时间:2022-10-27 格式:DOCX 页数:13 大小:140.35KB
下载 相关 举报
Java语言程序设计A基础实验2控制流程精心整理.docx_第1页
第1页 / 共13页
Java语言程序设计A基础实验2控制流程精心整理.docx_第2页
第2页 / 共13页
Java语言程序设计A基础实验2控制流程精心整理.docx_第3页
第3页 / 共13页
Java语言程序设计A基础实验2控制流程精心整理.docx_第4页
第4页 / 共13页
Java语言程序设计A基础实验2控制流程精心整理.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Java语言程序设计A基础实验2控制流程精心整理.docx

《Java语言程序设计A基础实验2控制流程精心整理.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计A基础实验2控制流程精心整理.docx(13页珍藏版)》请在冰豆网上搜索。

Java语言程序设计A基础实验2控制流程精心整理.docx

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);

Listmarks=newArrayList();

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);

Listmarks=newArrayList();

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);

Listmarks=newArrayList();

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{

Listmarks=newArrayList();

getMark(marks);

judgeMark(marks);

}catch(InputMismatchExceptione){

System.err.print("输入有误,只能输入数字!

");

}

}

publicstaticvoidgetMark(ListmarksIn)throwsInputMismatchException

{

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(ListmarksIn)

{

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模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1