1、完整版包含3个JAVA学生成绩管理系统的毕业课程设计JAVA程序设计包含多个实例(让你更加容易学习知识、找到自己想要的东西)第一个:学生成绩管理系统目 录 1一、引言 21.1 课程设计目的 21.2 题目说明 21.3 开发工具介绍 2二、总体设计 32.1系统开发平台 32.2 系统流程图 42.3功能结构图 42.4数据库设计 4三、详细说明 43.1 系统实施 5四、系统的调试和运行 9五、课程设计总结 9六、参考文献 9附录(源程序代码) 10一、引言1.1 课程设计目的1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2) 课程设计为学生提供了一个既动手
2、又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。1.2 题目说明课题:学生成绩管理 功能要求: 1、输入十个同学的学号,姓名,四科成绩(应用数学,大学英语,Java程序设计,计算机应用基础) 。2、计算出平均成绩,以平均成绩降序输出成绩表。3、输入学号查询学生信息。 4、输出全组各科平均分。5、统计各分数段人数6、删除记录7、输出各科最高分和最低分。8、退出。界面要示:用字符界面实现,也可用图形界面实现。 1.3 开发工具介绍Eclipse是一种可扩展的
3、开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩
4、展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、CC+调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。 Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似微软公司的Visual Studio和Sun 微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse 联盟已经宣布将在2004年中期发布其3.0版软件。这是一款非常受欢迎的java开发工具,这国
5、内的用户越来越多,实际上实用它java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来较困难。二、总体设计2.1系统开发平台前断使用JAVA设计 2.2 系统流程图 2.3功能结构图三、详细说明该学生成绩管理系统具备输入、输出学生信息(包括学生姓名、学号、各科成绩、平均分、总分),并按平均分排序,输入学号进行查询学生信息,统计各分数段人数,计算各科平均分并输出最高、最低平均分,删除记录。具体功能的详细描述如下:1、当进入“学生成绩管理系统”界面时,根据提示按“1”将进入“输入记录”界面,此时将输入学生的基本信息,包括学生姓名、学号、各科成绩。输入“2”时将看到学生的基本信息。输入“3”
6、对此学生的平均分进行排序。输入“4”再输入学生学号如“01”将查找出此学生信息,并显示在屏幕上。输入“5”将统计每个分数段的人数。输入“6”再输入学号如“02”将删除此学生的相关信息,再输入“2”既将显示删除后的学生信息。输入“7”则将各科平均分清晰的显示出。输入“8”则将其中最高与最低分显示出来。输入“0”将推出此系统。2、算出每人平均分分数段的人数。3、调用方法action7来输出各科成绩的平均分。4、调用方法action8来输出各科成绩的最高分和最低分。5、方法clrscr来进行换行输出。3.1 系统实施第一部分:import java.io.*;public class Program
7、 public static void main(String args) while(true) Menu.paint(); int ctrlTag = Console.readInt(); switch(ctrlTag) case 1: Menu.action1(); break; case 2: Menu.action2(); break; case 3: Menu.action3(); break; case 4: Menu.action4(); break; case 5: Menu.action5(); break; case 6: Menu.action6(); break; c
8、ase 7: Menu.action7(); break; case 8: Menu.action8(); break; case 0: System.exit(0); break; 第二部分:public static int stat(int min, int max) int sum =0; for (int i = 0; i = min) & (datai.getAverage() a1) a1=english; if(mathb1) b1=math; if(javac1) c1=java; if(computerd1) d1=computer; if(englisha2) a2=en
9、glish; if(mathb2) b2=math; if(javac2) c2=java; if(computerd2) d2=computer; total = english + math + java + computer; average = total4; public int getNumber() return number; public String getName() return name; public int getEnglish() return english; public int getMath() return math; public int getJa
10、va() return java; public int getComputer() return computer; public int getAverage() return average; public int getTotal() return total; public int getL() return l; public int getM() return m; public int getS() return s; public int getO() return o; public int getA1() return a1; public int getB1() ret
11、urn b1; public int getC1() return c1; public int getD1() return d1; public int getA2() return a2; public int getB2() return b2; public int getC2() return c2; public int getD2() return d2; class StudentSet private static final int maxLen = 5; private static int len = 0; private static Student data =
12、new StudentmaxLen; public static int getMaxLen() return maxLen; public static int getLen() return len; public static Student getData(int index) return dataindex; public static int addData(Student newData) if (len maxLen) datalen = newData; len+; return 0; else return -1; public static void sortData(
13、) for (int i = 0; i len -1; i+) int minIndex = i; for (int j = i+1; j dataj.getAverage() minIndex = j; if (minIndex != i) Student temp = datai; datai = dataminIndex; dataminIndex = temp; public static int search(int number) for(int i = 0; i len; i+) if (datai.getNumber() = number) return i; return -
14、1; public static int delete(int number) for (int i = 0; i len; i+) if (datai.getNumber() = number) for (int j = i + 1; j len; j+) dataj-1 = dataj; len-; return 0; return -1; public static int stat(int min, int max) int sum =0; for (int i = 0; i = min) & (datai.getAverage() = max) sum+; return sum; c
15、lass Console public static int readInt() int result = 0; try String temp =new BufferedReader(new InputStreamReader(System.in).readLine(); result = Integer.parseInt(temp); catch (Exception e) System.out.println(Error: +e); return result; public static String readSting() String result = null; try resu
16、lt = new BufferedReader(new InputStreamReader(System.in).readLine(); catch (Exception e) System.out.println(Error: +e); return result; class Menu public static void paint() clrscr(); for (int i = 0; i 80; i+) System.out.print(=); System.out.println(); System.out.println( 学生成绩管理系统 ); System.out.print
17、ln(); 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 (int i = 0; i 80; i+) System.out.print(=); System.out.println(); System.out.print(请输入命令:); public stat
18、ic int action1() while(true) clrscr(); System.out.print(待输入记录的学号(输入“-1”退出):); int number = Console.readInt(); if (number != -1) System.out.print( *姓名:); String name = Console.readSting(); System.out.print( *英语:); int english = Console.readInt(); System.out.print( *数学:); int math = Console.readInt();
19、 System.out.print( *java: ); int java = Console.readInt(); System.out.print( *计算机:); int computer = Console.readInt(); Student newData = new Student(number, name, english, math, java, computer); if (StudentSet.addData(newData) = -1) System.out.println(数据溢出!); return -2; else return -1; public static
20、 void action2() clrscr(); if (StudentSet.getLen() = 0) System.out.println(没有记录!); else System.out.println( 数学 | 英语 | java | 计算机 | 平均 | 总计); for (int i = 0; i StudentSet.getLen(); i+) System.out.println(学号:+StudentSet.getData(i).getNumber()+ 姓名:+StudentSet.getData(i).getName(); System.out.println( +StudentSet.getData(i).getMath()+ +StudentSet.getData(i).getEnglish()+