包含3个java学生系统的课程设计_第1页
包含3个java学生系统的课程设计_第2页
包含3个java学生系统的课程设计_第3页
包含3个java学生系统的课程设计_第4页
包含3个java学生系统的课程设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 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开发者自己编写的开放源代码插件,这类似微软公司的Visual Studio和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 系统实施第一部分:import java.io.*;public class Program 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; case 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=english; if(mathb2) b2=math; if(javac2) c2=java; if(computerd2) d2=computer; total = english + math + java + computer; average = total/4; public int getNumber() return number; public String getName() return name; public int getEnglish() return english; public int getMath() return math; public int getJava() 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() return 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 = 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() 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 -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; class 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 result = 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.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 (int i = 0; i 80; i+) System.out.print(=); System.out.println(); System.out.print(请输入命令:); public static 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();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 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()+ +StudentSet.getData(i).getJava()+ +StudentSet.getData(i).getComputer()+ +StudentSet.getData(i).getAverage()+ +StudentSet.getData(i).getTotal(); public static void action3() StudentSet.sortData(); action2(); public static void action4() clrscr(); System.out.print(请输入要查找记录的学号:); int number = Console.readInt(); int i; if (i = StudentSet.search(number) != -1) clrscr(); System.out.println( 数学 | 英语 | java | 计算机 | 平均 | 总计); 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()+ +StudentSet.getData(i).getComputer()+ +StudentSet.getData(i).getAverage()+ +StudentSet.getData(i).getTotal(); else System.out.println(没有找到相应的记录!); public static void action5() clrscr(); System.out.println(90-100: +StudentSet.stat(90, 100)+人); System.out.println(80-89: +StudentSet.stat(80, 89)+人); System.out.println(70-79: +StudentSet.stat(70, 79)+人); System.out.println(60-69: +StudentSet.stat(60, 69)+人); System.out.println(0-59: +StudentSet.stat(0, 59)+人); public static void action6() while(true) clrscr(); System.out.print(请输入要删除记录的学号(输入“-1”退出):); int number = Console.readInt(); if (number != -1) if(StudentSet.delete(number) = -1) System.out.println(没有找到相应的记录!); return; else System.out.println(删除记录成功!); else return; public static void action7() clrscr(); System.out.println(*英语平均分:+Student.l/3); System.out.println(*数学平均分:+Student.m/3); System.out.println(*java平均分:+Student.s/3); System.out.println(*计算机平均分:+Student.o/3); public static void action8() 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); public static void clrscr() /temp function System.out.println(); System.out.println(); 第二个:学生成绩管理系统一、实验题目基于JSP/Servlet设计、实现一个课程管理Web应用程序,该程序实现如下功能。v 有登录页面,登录用帐号密码保存在数据库中,合法登录后进入学习成绩管理页面。否则给出错误提示。v 在学习成绩管理页面可添加一门课程的成绩,添加内容包括:课程编号、课程名称、学生姓名、课程成绩等内容。添加后信息保存在数据库中。v 可根据课程名称和学生姓名进行查询。v 可删除和修改课程信息的内容。(即删除一条课程记录或修改课程记录中的某一字段)。二、程序设计.数据库设计: 经过分析可知,改程序主要有如下的实体对象,用户、课程、学生三个实体对象。因此该数据库主要有四张表,分别如下: 连接数据库的类设计如下:package database;import java.sql.Connection;import java.sql.DriverManager;public class DataBaseConnection public static Connection createDBConn()tryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);Connection conn=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=Student_system,supiyun,supiyun);return conn;catch(Exception e)e.printStackTrace();return null;.程序界面设计: 通过程序的要求可知该程序有jsp页面或Html页面以及servlet组成。Jsp主要负责与用户的交互实现视图页面的功能,而servlet主要负责页面跳转控制以及数据处理的功能。由实验的要求具体的实验设计如下:A、用户通过一个登陆页面,输入用户名、密码,然后该jsp页面将请求发送给处理用户身份验证的servlet,该servlet获取数据库的信息进行校验,如果用户的身份合法则跳转到应用程序的主界面,否则给出错误的提示信息,并且要求用户重新输入用户名和密码重新登陆。登陆页面的设计图如下所示:B、对于程序的主界面主要实现对于用户需要的导航功能以及实现具体的操作功能。该程序的主界面主要有三个Html的Framset构成,分别为topFrame,leftFrame,mainFrame组成,leftFrame主要实现程序的导航,而mainFrame具体的实现程序的功能。主界面设计界面如下:C、具体的功能设计如下 学生个人成绩查询:学生通过输入学号可以查询学生所学科目的所以成绩。课程管理:该模块主要实现对课程的新增、已有课程的查询以及对每门课程成绩的录入功能的导航。课程的新增:如有新的课程需要新增,则用户通过提示输入课程编号、课程名称、授课教师名字实现课程的新增。科目成绩管理:通过该功能,用户可以实现对指定的科目的成绩管理,修改或者新增功能。用户可以查询对应的科目增加或修改成绩。 查看已有课程:通过查看已有的科目可以实现对已有科目的信息的修改、删除以及学生成绩添加、修改的功能。学生信息管理:通过该模块可以实现对学生个人信息的查询、新增、修改的功能。 学生个人信息查询:输入学号或姓名可以查看学生的基本信息。学生个人信息添加:根据提示输入学生的各项基本,提交添加学生信息。学生信息修改:输入学生学号或姓名查找到学生信息,对学生信息进行修改提交。退出登录:结束会话,返回至登录页面。3.servlet设计: Servlet主要负责对页面请求的跳转和对数据库的操作功能。该程序主要有如下的servlet,分别为: 1. AddCourse_Serverlet : 添加课程 package servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import database.DataBaseConnection;import java.sql.*;public class AddCourse_Serverlet extends HttpServlet public AddCourse_Serverlet() super();public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException Connection conn=DataBaseConnection.createDBConn();PrintWriter out=response.getWriter();Statement st=null;try st=conn.createStatement(); catch (SQLException e) e.printStackTrace();String number;String name;String teacher;number=request.getParameter(number);name=request.getParameter(name);teacher=request.getParameter(teacher_name);if(number!=null&number.length()!=0)numb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论