学生成绩管理系统JAVA课程设计文档格式.docx
《学生成绩管理系统JAVA课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统JAVA课程设计文档格式.docx(21页珍藏版)》请在冰点文库上搜索。
System.out.println("
---------------------------------------"
);
**"
欢迎进入学生成绩管理系统"
while(true)
System.out.println();
System.out.println("
请选择您的操作:
"
1.录入学生成绩信息;
2.显示学生成绩信息;
3.计算学生平均成绩;
4.显示最高成绩学生信息;
5.查找学生信息;
6.修改学生信息;
7.按成绩排序学生信息;
8.学生信息库扩容;
9.学生成绩分段输出;
0.退出;
请输入数字选项(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);
您选择了显示所有学生成绩信息。
break;
case3:
学生平均成绩信息如下:
平均成绩:
="
+mis.Pingfen(stu));
一共有学生人数为:
+Student.sumstu);
case4:
最高成绩学生信息如下:
mis.Topchengji(stu).print();
case5:
System.out.print("
输入需要查找的学生姓名:
mis.search(stu);
case6:
输入需要修改的学生姓名:
Stringtmp=sc.next();
mis.change(tmp,stu);
case7:
排序后学生信息如下:
Student[]sort1=mis.sort(stu);
//mis.print(sort1);
case8:
学生信息扩容进行中....."
stu=mis.kourong(stu);
学生信息扩容完成....."
case9:
mis.test(stu);
break;
case0:
System.exit(0);
}
}
else
System.out.println("
输入错误,请重新输入!
continue;
}
}
classStudentMis{
publicStudentMis(){
publicvoidInputstu(Studenta[])//增加学生对象,通过键盘接受相关资料
throwsIOException{
Stringtmp;
booleanflat=false;
intnum=Student.sumstu;
System.out.print("
请输入学生的学号:
tmp=sc.next();
do//检查学号的唯一性
for(inti=0;
i<
Student.sumstu;
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.length){//判断是否要扩容
a[num]=newStudent(tmp);
//可以增加学生对象,调用带参数的,实际增加
a[num].id=tmp;
System.out.print("
请输入学生姓名:
a[num].name=sc.next();
请输入学生成绩:
a[num].chengji=sc.nextInt();
elseSystem.out.println("
学生数组已满,要扩容!
publicStudentTopchengji(Studenta[]){//查找成绩最高的学生
intmax=a[0].chengji;
intid=0;
for(inti=1;
i<
Student.sumstu;
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();
//按输入的姓名去查找
i++){
if(tmpname.equals(a[i].name)){
a[i].print();
searchid=i;
}
if(searchid==-1){
没有符合条件的学生"
returnnull;
elsereturna[searchid];
publicStudentsearch(Stringname,Studenta[]){//按姓名去查找学生
if(name.equals(a[i].name)){
publicvoidtest(Studenta[]){
intb=0,c=0,d=0,e=0,f=0;
for(inti=0;
i++){//将成绩分段输出
if(a[i].chengji<
60){
b++;
成绩小于60的学生"
a[i].print();
if(a[i].chengji>
=60&
a[i].chengji<
70){
c++;
成绩在60-70的学生"
=70&
80){
d++;
成绩在70-80的学生"
=80&
90){
e++;
成绩在80-90的学生"
=90&
=100){
f++;
成绩在90-100的学生"
成绩在<
60的学生总数为\t"
+b);
成绩在60-70的学生总数为\t"
+c);
成绩在70-80的学生总数为\t"
+d);
成绩在80-90的学生总数为\t"
+e);
成绩在90-100的学生总数为\t"
+f);
publicStudentchange(Stringname,Studenta[]){//修改给定名字的学生成绩
Studenttmp=search(name,a);
if(tmp==null){
returnnull;
else{
System.out.print("
请输入修改成绩:
tmp.chengji=sc.nextInt();
returntmp;
doublePingfen(Studenta[]){//求所有学生的成绩平均分
doublesum=0;
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<
i++){//将要排序的数组拷贝到新数组,创建对象时调用不带参数的构造函数,学生人数不增加
sortstu[i]=newStudent();
sortstu[i]=stu1[i];
for(i=0;
Student.sumstu-1;
i++){//排序
k=i;
for(j=i;
j<
j++)
if(sortstu[j].chengji<
sortstu[k].chengji)k=j;
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];
stu1.length;
i++){//将原数组拷贝到新数组,创建对象时调用不带参数的构造函数,学生人数不增加
newstu[i]=newStudent();
newstu[i]=stu1[i];
stu1=newstu;
returnstu1;
voidprint(Studenta[]){//输出学生数组中每个学生的信息
for(inti=0;
}
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;
sumstu++;
voidSetChengji(intn){
chengji=n;
}
StringGetname(){//获取学生姓名
returnname;
intGetchengji(){//获取学生成绩
returnchengji;
voidprint(){//输出一个学生的信息的方法.
姓名:
+name+"
成绩:
+chengji);
四、调试分析
1.源代码编写完成并编译成功。
2.程序开始界面。
3.录入学生信息。
4.显示学生成绩信息。
5.计算学生平均成绩。
6.显示最高成绩学生信息.
7.查找学生信息。
8.修改学生信息。
9.按成绩排序学生信息。
10.学生信息库扩容。
11.学生成绩分段输出。
12.程序结束。
课程设计总结
学习JAVA以来,感觉它从来就不是一门容易的课,书本有太多太多的知识需要我们去学习,去掌握。
书本的内容不能说很难,但的确很琐碎,需要我们花更多的时间去理解,可惜的是,愿意花时间在这上面的人太少了,我也自认在Java上并没有花太多的时间去研究。
对于这次的课程设计,老师给的时间很充裕,但还是有很多同学敷衍了事,我们知道这的确是我们的错,我们并没有认真的对待这次的作业。
在完成这次作业之前,我把课本的知识有认真的看过一遍,感觉只有系统地理解之前的知识,才能把这次的作业做得更好。
这次的作业,花了我很长的时间去准备,不过我觉得很值得。
在编写源代码的时候,难免遇到了许许多多的问题和错误,是我不得不去从书本中寻找答案或向其他人请教,这让我收获颇丰。
这次的作业,考的不仅仅是测试我们对书本知识的掌握情况,更是考我们在处理问题时的态度。
一次又一次的错误并不能阻挡我们寻求正确的心,一次又一次的尝试更体现我们的决心。
从中,我明白了当我们处理事情时,要有耐心和细心,当然也要有丰富的知识做基础,我们唯有不断学习,才能更好地充实自己,使自己更加进步。