JAVA实验报告学生成绩管理.docx
- 文档编号:6935024
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:22
- 大小:38.56KB
JAVA实验报告学生成绩管理.docx
《JAVA实验报告学生成绩管理.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告学生成绩管理.docx(22页珍藏版)》请在冰豆网上搜索。
JAVA实验报告学生成绩管理
目录
目录1
一、引言2
1.1课程设计目的2
1.2题目说明2
1.3开发工具介绍2
二、总体设计3
2.1系统开发平台3
2.2系统流程图4
2.3功能结构图4
2.4数据库设计4
三、详细说明4
3.1系统实施5
四、系统的调试和运行9
五、课程设计总结9
六、参考文献9
附录(源程序代码)10
一、引言
1.1课程设计目的
1)复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;
2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;
3)培养学生在项目开发中团队合作精神,创新意识及能力。
1.2题目说明
课题:
学生成绩管理
功能要求:
1、输入十个同学的学号,姓名,四科成绩(应用数学,大学英语,Java程序设计,计算机应用基础)。
2、计算出平均成绩,以平均成绩降序输出成绩表。
3、输入学号查询学生信息。
4、输出全组各科平均分。
5、统计各分数段人数
6、删除记录
7、输出各科最高分和最低分。
8、退出。
界面要示:
用字符界面实现,也可用图形界面实现。
1.3开发工具介绍
Eclipse是一种可扩展的开放源代码IDE。
2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。
集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。
为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。
Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。
利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。
如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。
事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。
Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似微软公司的VisualStudio和Sun微系统公司的NetBeans平台。
Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。
Eclipse联盟已经宣布将在2004年中期发布其3.0版软件。
这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。
缺点就是较复杂,对初学者来说,理解起来较困难。
二、总体设计
2.1系统开发平台
前断使用JAVA设计
2.2系统流程图
2.3功能结构图
三、详细说明
该学生成绩管理系统具备输入、输出学生信息(包括学生姓名、学号、各科成绩、平均分、总分),并按平均分排序,输入学号进行查询学生信息,统计各分数段人数,计算各科平均分并输出最高、最低平均分,删除记录。
具体功能的详细描述如下:
1、当进入“学生成绩管理系统”界面时,根据提示按“1”将进入“输入记录”界面,此时将输入学生的基本信息,包括学生姓名、学号、各科成绩。
输入“2”时将看到学生的基本信息。
输入“3”对此学生的平均分进行排序。
输入“4”再输入学生学号如“01”将查找出此学生信息,并显示在屏幕上。
输入“5”将统计每个分数段的人数。
输入“6”再输入学号如“02”将删除此学生的相关信息,再输入“2”既将显示删除后
的学生信息。
输入“7”则将各科平均分清晰的显示出。
输入“8”则将其中最高与最低分显示出来。
输入“0”将推出此系统。
2、算出每人平均分分数段的人数。
3、调用方法action7来输出各科成绩的平均分。
4、调用方法action8来输出各科成绩的最高分和最低分。
5、方法clrscr来进行换行输出。
3.1系统实施
第一部分:
importjava.io.*;
publicclassProgram{
publicstaticvoidmain(String[]args){
{
while(true)
{
Menu.paint();
intctrlTag=Console.readInt();
switch(ctrlTag)
{
case1:
{
Menu.action1();
break;
}
case2:
{
Menu.action2();
break;
}
case3:
{
Menu.action3();
break;
}
case4:
{
Menu.action4();
break;
}
case5:
{
Menu.action5();
break;
}
case6:
{
Menu.action6();
break;
}
case7:
{
Menu.action7();
break;
}
case8:
{
Menu.action8();
break;
}
case0:
{
System.exit(0);
break;
}
}
}
}
}
}
第二部分:
publicstaticintstat(intmin,intmax)
{
intsum=0;
for(inti=0;i { if((data[i].getAverage()>=min)&&(data[i].getAverage()<=max)) { sum++; } } returnsum; } 第三部分(如图1): publicstaticvoidaction7() { clrscr(); System.out.println("*英语平均分: "+Student.l/5); System.out.println("*数学平均分: "+Student.m/5); System.out.println("*java平均分: "+Student.s/5); System.out.println("*计算机平均分: "+Student.o/5); } (图1) 第四部分(如图2): publicstaticvoidaction8() { clrscr(); System.out.println("英语最高分: "+Student.a1+"英语最低分: "+Student.a2); System.out.println("数学最高分: "+Student.b1+"数学最低分: "+Student.b2); System.out.println("java最高分: "+Student.c1+"java最低分: "+Student.c2); System.out.println("计算机最高分: "+Student.d1+"计算机最低分: "+Student.d2); } (图2) 第五部分: publicstaticvoidclrscr() {//tempfunction System.out.println(); System.out.println(); } 四、系统的调试和运行 1、因小组成员都参与程序编写,故结合在一起时,出现了不匹配。 在经过多次调试和修改后,成功运行了程序。 2、在编写类方法时,方法名后面忘加“()”,导致编译错误。 3、在输程序过程中,由于不断的有中英文切换,致使一些标点符号不合法。 在复检程序时也特别注意了此环节。 五、课程设计总结 本次课程设计,让我获益匪浅,不仅更深入的了解Java这门学科,更使自己有了继续探索的兴趣。 于个人而言,在程序设计的过程中,我深感“认真严谨”这个词的重要性,一点点小的马虎,便会导致整个程序不能正常运行。 在今后的学习中,我定将“认真严谨时刻作为自的谨言。 与此同时,本小组成员的互帮互助,让我体会到了团结的力量,而更让人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。 总之,此次课程设计在我的学生生涯中启上了至关重要的作用。 最后,真诚的感谢陈珂、顾成喜老师的指导和教诲。 六、参考文献 按照以下格式书写 [1]权明富,齐佳音,舒华英.客户价值评价指标体系设计[J].南开管理评论,2004,7(3): 17-18. [2]刘小洪,邹鹏.商业银行客户关系价值管理模型研究[J].管理科学,2005,18(3): 57-60. 附录(源程序代码) importjava.io.*; publicclassProgram{ publicstaticvoidmain(String[]args){ { while(true) { Menu.paint(); intctrlTag=Console.readInt(); switch(ctrlTag) { case1: { Menu.action1(); break; } case2: { Menu.action2(); break; } case3: { Menu.action3(); break; } case4: { Menu.action4(); break; } case5: { Menu.action5(); break; } case6: { Menu.action6(); break; } case7: { Menu.action7(); break; } case8: { Menu.action8(); break; } case0: { System.exit(0); break; } } } } } } classStudent{ privateintnumber; privateStringname; privateintenglish; privateintmath; privateintjava; privateintcomputer; privateintaverage; privateinttotal; staticintl,m,s,o; staticinta1,b1,c1,d1,a2=100,b2=100,c2=100,d2=100; publicStudent(intnumber,Stringname,intenglish,intmath,intjava,intcomputer) { this.number=number; this.name=name; this.english=english; this.math=math; this.java=java; puter=computer; l+=english; m+=math; s+=java; o+=computer; if(english>a1)a1=english; if(math>b1)b1=math; if(java>c1)c1=java; if(computer>d1)d1=computer; if(english if(math if(java if(computer total=english+math+java+computer; average=total/4; } publicintgetNumber() { returnnumber; } publicStringgetName() { returnname; } publicintgetEnglish() { returnenglish; } publicintgetMath() { returnmath; } publicintgetJava() { returnjava; } publicintgetComputer() { returncomputer; } publicintgetAverage() { returnaverage; } publicintgetTotal() { returntotal; } publicintgetL() { returnl; } publicintgetM() { returnm; } publicintgetS() { returns; } publicintgetO() { returno; } publicintgetA1() { returna1; } publicintgetB1() { returnb1; } publicintgetC1() { returnc1; } publicintgetD1() { returnd1; } publicintgetA2() { returna2; } publicintgetB2() { returnb2; } publicintgetC2() { returnc2; } publicintgetD2() { returnd2; } } classStudentSet{ privatestaticfinalintmaxLen=5; privatestaticintlen=0; privatestaticStudent[]data=newStudent[maxLen]; publicstaticintgetMaxLen() { returnmaxLen; } publicstaticintgetLen() { returnlen; } publicstaticStudentgetData(intindex) { returndata[index]; } publicstaticintaddData(StudentnewData) { if(len { data[len]=newData; len++; return0; }else { return-1; } } publicstaticvoidsortData() { for(inti=0;i { intminIndex=i; for(intj=i+1;j { if(data[minIndex].getAverage()>data[j].getAverage()) { minIndex=j; } } if(minIndex! =i) { Studenttemp=data[i]; data[i]=data[minIndex]; data[minIndex]=temp; } } } publicstaticintsearch(intnumber) { for(inti=0;i { if(data[i].getNumber()==number) { returni; } } return-1; } publicstaticintdelete(intnumber) { for(inti=0;i { if(data[i].getNumber()==number) { for(intj=i+1;j { data[j-1]=data[j]; } len--; return0; } } return-1; } publicstaticintstat(intmin,intmax) { intsum=0; for(inti=0;i { if((data[i].getAverage()>=min)&&(data[i].getAverage()<=max)) { sum++; } } returnsum; } } classConsole{ publicstaticintreadInt() { intresult=0; try{ Stringtemp=newBufferedReader(newInputStreamReader(System.in)).readLine(); result=Integer.parseInt(temp); }catch(Exceptione) { System.out.println("Error: "+e); } returnresult; } publicstaticStringreadSting() { Stringresult=null; try{ result=newBufferedReader(newInputStreamReader(System.in)).readLine(); }catch(Exceptione) { System.out.println("Error: "+e); } returnresult; } } classMenu{ publicstaticvoidpaint() { clrscr(); for(inti=0;i<80;i++) { System.out.print('='); } System.out.println(); System.out.println("学生成绩管理系统"); System.out.println(); System.out.println("1输入记录2输出所有记录"); System.out.println("3按平均成绩排序并输出4查找记录"); System.out.println("5统计各分数段人数6删除记录"); System.out.println("7各科平均分8各科最高最低分"); System.out.println("0退出"); for(inti=0;i<80;i++) { System.out.print('='); } System.out.println(); System.out.print("请输入命令: "); } publicstaticintaction1() { while(true) { clrscr(); System.out.print("待输入记录的学号(输入“-1”退出): "); intnumber=Console.readInt(); if(number! =-1) { System.out.print("*姓名: "); Stringname=Console.readSting(); System.out.print("*英语: "); intenglish=Console.readInt(); System.out.print("*数学: "); intmath=Console.readInt(); System.out.print("*java: "); intjava=Console.readInt(); System.out.print("*计算机: "); intcomputer=Console.readInt(); StudentnewData=newStudent(number,name,english,math,java,computer); if(StudentSet.addData(newData)==-1) { System.out.println("数据溢出! "); return-2; } }else { return-1; } } } publicstaticvoidaction2() { clrscr(); if(StudentSet.getLen()==0) { System.out.println("没有记录! "); }else { System.out.println("数学|英语|java|计算机|平均|总计"); for(inti=0;i { System.out.println("学号: "+StudentSet.getData(i).getNumber()+"姓名: "+StudentSet.getData(i).getName()); System.out.println(""+StudentSet.getData(i).getMath()+""+StudentSet.getData(i).getEnglish()+""+StudentSet.getData(i).getJava()+ ""+StudentSe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 实验 报告 学生 成绩 管理
![提示](https://static.bdocx.com/images/bang_tan.gif)