学生成绩管理系统JAVA课程设计.docx

上传人:b****3 文档编号:4569050 上传时间:2023-05-07 格式:DOCX 页数:21 大小:157.82KB
下载 相关 举报
学生成绩管理系统JAVA课程设计.docx_第1页
第1页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第2页
第2页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第3页
第3页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第4页
第4页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第5页
第5页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第6页
第6页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第7页
第7页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第8页
第8页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第9页
第9页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第10页
第10页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第11页
第11页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第12页
第12页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第13页
第13页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第14页
第14页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第15页
第15页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第16页
第16页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第17页
第17页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第18页
第18页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第19页
第19页 / 共21页
学生成绩管理系统JAVA课程设计.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生成绩管理系统JAVA课程设计.docx

《学生成绩管理系统JAVA课程设计.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统JAVA课程设计.docx(21页珍藏版)》请在冰点文库上搜索。

学生成绩管理系统JAVA课程设计.docx

学生成绩管理系统JAVA课程设计

 

Java课程设计

课题:

学生成绩管理系统

 

一、问题及功能分析

1、身份验证,和使用系统的权限设置、判定。

2、实现同学的学号、性别、成绩等信息的录入、编辑

3、提供对学号或姓名,进行成绩或所有信息的查询。

4、计算学生平均成绩,显示最高成绩学生信息

5、能实现按成绩、学号、姓名排序列出学生信息。

6、能统计学生成绩分数段的分布(60以下、60~70、70~80、80~90、90~100)情况,并输出。

7、用文件保存数据,以便反复使用。

二、概要设计

(一)算法的流程图

 

三、详细设计

学生成绩管理系统代码设计:

importjava.util.*;

importjava.lang.*;

importjava.io.*;

classMytest

{

publicstaticvoidmain(String[]args)

throwsIOException

{

{

intselect;

select=1;

Studentstu[]=newStudent[10];

StudentMismis=newStudentMis();

Scannersc=newScanner(System.in);

System.out.println();

System.out.println("---------------------------------------");

System.out.println("**");

System.out.println("欢迎进入学生成绩管理系统");

System.out.println("**");

System.out.println("---------------------------------------");

while(true)

{

System.out.println();

System.out.println("请选择您的操作:

");

System.out.println("1.录入学生成绩信息;");

System.out.println("2.显示学生成绩信息;");

System.out.println("3.计算学生平均成绩;");

System.out.println("4.显示最高成绩学生信息;");

System.out.println("5.查找学生信息;");

System.out.println("6.修改学生信息;");

System.out.println("7.按成绩排序学生信息;");

System.out.println("8.学生信息库扩容;");

System.out.println("9.学生成绩分段输出;");

System.out.println("0.退出;");

System.out.println("请输入数字选项(0-9):

");

select=sc.nextInt();

System.out.println();

//判断输入,0退出

if(select>=0&&select<=9)

{

switch(select)

{

case1:

mis.Inputstu(stu);

break;

case2:

System.out.println("所有学生成绩信息如下:

");

mis.print(stu);

System.out.println("您选择了显示所有学生成绩信息。

");

break;

case3:

System.out.println("学生平均成绩信息如下:

");

System.out.println("平均成绩:

="+mis.Pingfen(stu));

System.out.println("一共有学生人数为:

"+Student.sumstu);

break;

case4:

System.out.println("最高成绩学生信息如下:

");

mis.Topchengji(stu).print();

break;

case5:

System.out.print("输入需要查找的学生姓名:

");

mis.search(stu);

break;

case6:

System.out.print("输入需要修改的学生姓名:

");

Stringtmp=sc.next();

mis.change(tmp,stu);

break;

case7:

System.out.println("排序后学生信息如下:

");

Student[]sort1=mis.sort(stu);

//mis.print(sort1);

break;

case8:

System.out.println("学生信息扩容进行中.....");

stu=mis.kourong(stu);

System.out.println("学生信息扩容完成.....");

break;

case9:

mis.test(stu);

break;

case0:

System.exit(0);

}

}

else

{

System.out.println("输入错误,请重新输入!

");

continue;

}

}

}

}

}

 

classStudentMis{

publicStudentMis(){

}

publicvoidInputstu(Studenta[])//增加学生对象,通过键盘接受相关资料

throwsIOException{

Stringtmp;

booleanflat=false;

Scannersc=newScanner(System.in);

intnum=Student.sumstu;

System.out.print("请输入学生的学号:

");

tmp=sc.next();

do//检查学号的唯一性

{

for(inti=0;i

if(tmp.equals(a[i].id)){

System.out.println("该学号已存在!

");

System.out.print("请输入学生的学号:

");

tmp=sc.next();

flat=true;

}

elseflat=false;//学号不重复

}while(flat);

if(num

a[num]=newStudent(tmp);//可以增加学生对象,调用带参数的,实际增加

a[num].id=tmp;

System.out.print("请输入学生姓名:

");

a[num].name=sc.next();

System.out.print("请输入学生成绩:

");

a[num].chengji=sc.nextInt();

System.out.println();

}

elseSystem.out.println("学生数组已满,要扩容!

");

}

publicStudentTopchengji(Studenta[]){//查找成绩最高的学生

intmax=a[0].chengji;

intid=0;

for(inti=1;i

if(a[i].chengji>max)

{max=a[i].chengji;

id=i;

}

returna[id];

}

publicStudentsearch(Studenta[]){//查找学生

Stringtmpname;

intsearchid=-1;

Scannersc=newScanner(System.in);

tmpname=sc.next();//按输入的姓名去查找

for(inti=0;i

if(tmpname.equals(a[i].name)){

a[i].print();

searchid=i;

}

}

if(searchid==-1){

System.out.println("没有符合条件的学生");

returnnull;

}

elsereturna[searchid];

}

publicStudentsearch(Stringname,Studenta[]){//按姓名去查找学生

intsearchid=-1;

for(inti=0;i

if(name.equals(a[i].name)){

a[i].print();

searchid=i;

}

}

if(searchid==-1){

System.out.println("没有符合条件的学生");

returnnull;

}

elsereturna[searchid];

}

publicvoidtest(Studenta[]){

intb=0,c=0,d=0,e=0,f=0;

for(inti=0;i

if(a[i].chengji<60){

b++;

System.out.print("成绩小于60的学生");

a[i].print();}

if(a[i].chengji>=60&&a[i].chengji<70){

c++;

System.out.println("成绩在60-70的学生");

a[i].print();}

if(a[i].chengji>=70&&a[i].chengji<80){

d++;

System.out.println("成绩在70-80的学生");

a[i].print();}

if(a[i].chengji>=80&&a[i].chengji<90){

e++;

System.out.println("成绩在80-90的学生");

a[i].print();}

if(a[i].chengji>=90&&a[i].chengji<=100){

f++;

System.out.println("成绩在90-100的学生");

a[i].print();}

}

System.out.println("成绩在<60的学生总数为\t"+b);

System.out.println("成绩在60-70的学生总数为\t"+c);

System.out.println("成绩在70-80的学生总数为\t"+d);

System.out.println("成绩在80-90的学生总数为\t"+e);

System.out.println("成绩在90-100的学生总数为\t"+f);

}

publicStudentchange(Stringname,Studenta[]){//修改给定名字的学生成绩

Studenttmp=search(name,a);

if(tmp==null){

System.out.println("没有符合条件的学生");

returnnull;

}

else{

System.out.print("请输入修改成绩:

");

Scannersc=newScanner(System.in);

tmp.chengji=sc.nextInt();

returntmp;

}

}

doublePingfen(Studenta[]){//求所有学生的成绩平均分

doublesum=0;

for(inti=0;i

sum=sum+a[i].chengji;

returnsum/Student.sumstu;

}

publicStudent[]sort(Student[]stu1){//按成绩排序,放到新的数组中

Student[]sortstu=newStudent[Student.sumstu];//声明新数组

inti,j,k;

Studenttemp=newStudent();

for(i=0;i

sortstu[i]=newStudent();

sortstu[i]=stu1[i];

}

for(i=0;i

k=i;

for(j=i;j

if(sortstu[j].chengji

temp=sortstu[i];

sortstu[i]=sortstu[k];

sortstu[k]=temp;

}

for(i=0;i

sortstu[i].print();//输出打印

returnsortstu;

}

 

publicStudent[]kourong(Student[]stu1){//扩容,增加20人

Student[]newstu=newStudent[stu1.length+20];//声明新数组

inti,j,k;

Studenttemp=newStudent();

for(i=0;i

newstu[i]=newStudent();

newstu[i]=stu1[i];

}

stu1=newstu;

returnstu1;

}

voidprint(Studenta[]){//输出学生数组中每个学生的信息

for(inti=0;i

a[i].print();

}

}

 

classStudent{//创建一个Student类

Stringid;

Stringname;

Stringsex;

intage;

intchengji;

publicstaticintsumstu=0;//类变量,统计学生的数量

publicStudent(){

id="00";

name="aa";

sex="man";

age=18;

chengji=0;//每创建一个对象时,学生数量加1;

}

publicStudent(Stringtmp){

id=tmp;

name="aa";

sex="man";

age=18;

chengji=0;

sumstu++;//每创建一个对象时,学生数量加1;

}

voidSetChengji(intn){

chengji=n;

}

StringGetname(){//获取学生姓名

returnname;

}

intGetchengji(){//获取学生成绩

returnchengji;

}

voidprint(){//输出一个学生的信息的方法.

System.out.println("姓名:

"+name+"成绩:

"+chengji);

}

}

 

四、调试分析

 

1.源代码编写完成并编译成功。

 

2.程序开始界面。

 

3.录入学生信息。

 

4.显示学生成绩信息。

 

5.计算学生平均成绩。

 

6.显示最高成绩学生信息.

7.查找学生信息。

8.修改学生信息。

9.按成绩排序学生信息。

10.学生信息库扩容。

11.学生成绩分段输出。

12.程序结束。

 

 

课程设计总结

学习JAVA以来,感觉它从来就不是一门容易的课,书本有太多太多的知识需要我们去学习,去掌握。

书本的内容不能说很难,但的确很琐碎,需要我们花更多的时间去理解,可惜的是,愿意花时间在这上面的人太少了,我也自认在Java上并没有花太多的时间去研究。

对于这次的课程设计,老师给的时间很充裕,但还是有很多同学敷衍了事,我们知道这的确是我们的错,我们并没有认真的对待这次的作业。

在完成这次作业之前,我把课本的知识有认真的看过一遍,感觉只有系统地理解之前的知识,才能把这次的作业做得更好。

这次的作业,花了我很长的时间去准备,不过我觉得很值得。

在编写源代码的时候,难免遇到了许许多多的问题和错误,是我不得不去从书本中寻找答案或向其他人请教,这让我收获颇丰。

这次的作业,考的不仅仅是测试我们对书本知识的掌握情况,更是考我们在处理问题时的态度。

一次又一次的错误并不能阻挡我们寻求正确的心,一次又一次的尝试更体现我们的决心。

从中,我明白了当我们处理事情时,要有耐心和细心,当然也要有丰富的知识做基础,我们唯有不断学习,才能更好地充实自己,使自己更加进步。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2