• Java课程设计—学生成绩管理系统(201521123005 杨雪莹)


    一、团队课程设计博客链接

    学生成绩管理系统

    二、个人负责模块或任务说明

    • 学生成绩录入
    • 显示所有学生信息
    • 显示各科平均成绩
    • 显示学生成绩(按降序排序)

    三、自己的代码提交记录截图

    四、自己负责模块或任务详细说明

    1.学生成绩录入首先要选择所要录入的科目,然后需要先从数据库里获得学生的学号及姓名,每录入一个成绩需要确认,确认后才又从数据库读取信息,继续录入成绩,达到界面的比较美观

    下面是一开始的Java成绩录入的界面

    然后录入成绩

    确认后界面显示

    再录入一个成绩

    确认后显示

    主要代码:

    <%
    		<%
    		StudentDao student = new StudentDaoJDBC();
        	List<Student> studentList=student.findAllStudent();
    		for(Student e:studentList)
    		{
    			String score=String.valueOf(e.getMath());
    			//out.println(score);
    		%>
    		<form name="postForm" action="EnterStudentMathScore.jsp" " method="post">
    		<tr>
    			<td><input type="text" id="a" name="stuno"
    				value=<%=e.getStuno()%> readonly="true"></td>
    		    <td><input type="text" id="stuname" name="stuname"
    				value=<%=e.getName() %> readonly="true"></td>
    
    		</tr>
    		<%
    		String stscore =request.getParameter("stuscore"); 
    		String stno =request.getParameter("stuno");
    		StudentDao sdao=new StudentDaoJDBC();
    		int s = sdao.addStudentScore(stno,"math",stscore);
    		Student stu=sdao.findBystuno(e.getStuno());
    		double math=stu.getMath();
    		double score1=math+e.getSport()+e.getJava();
    		String stuno =String.valueOf(e.getStuno());
    		String score2=String.valueOf(score1);
    		int s1 = sdao.addStudentScore(stuno,"allscore",score2);
    		%>
    		<td><input type="text" id="stuscore" name="stuscore"
    				value=<%=math%>></td>
    		<input type="submit" value="确认" /><br>
    		</form>
    		<% 
    		
        	  }
        	   %>
    

    2.显示学生各科平均成绩,主要是用了数据的语句就可以很方便的获取
    界面:

    主要代码:

    @Override
    		public double getCourseAv(String course) {
    			// TODO Auto-generated method stub
    			Connection conn = null;
    			Statement stat = null;
    			ResultSet rs = null;
    			double avscore=0.0;
    			String sql = "select  avg("+course+")  from students";//表中有id和name这列
    			try {
    				conn = JDBCUtil.getConnection();
    				stat = conn.createStatement();
    				rs = stat.executeQuery(sql);
    				while(rs.next()){
    					avscore=rs.getDouble("avg("+course+")");
    				}
    			}catch (SQLException sqle) {
    				sqle.printStackTrace();
    			}catch(Exception e){
    				e.printStackTrace();
    			}finally{
    				JDBCUtil.realeaseAll(rs,stat, conn);
    			}
    			return avscore;
    		}
    

    3.显示学生所有信息,比较简单就不详细讲
    界面:

    主要代码:

    
    

    4.显示学生成绩按成绩降序排序,也是主要用"select * from students order by allscore desc" sql语句
    界面:

    主要代码:

    		public List<Student> showSortAchievement() {
    			// TODO Auto-generated method stub
    			Connection conn = null;
    			Statement stat = null;
    			ResultSet rs = null;
    			Student stu=null;
    			List<Student> students=new ArrayList<Student>();
    			String sql = "select * from students order by allscore desc";
    			try {
    				conn = JDBCUtil.getConnection();
    				stat = conn.createStatement();
    				rs = stat.executeQuery(sql);
    				while(rs.next()){
    					stu=new Student(rs.getInt("stuno"),rs.getString("name"),
    							rs.getDouble("math"),rs.getDouble("sport"),rs.getDouble("java"),rs.getDouble("allscore"));
    					students.add(stu);
    				}
    			}catch (SQLException sqle) {
    				sqle.printStackTrace();
    			}catch(Exception e){
    				e.printStackTrace();
    			}finally{
    				JDBCUtil.realeaseAll(rs,stat, conn);
    			}
    			return students;
    		}
    
    

    五、课程设计感想

    这次课设时间比较赶,感觉时间再多一点可以写得更完善。课设设计过程对java,数据库,Jsp的学习有很到的帮助,能写出自己想要的效果还是很开心的。我写录入成绩,写了很久,可以后真的很开心,觉得熬夜没有白费了!经过这次课设,就希望课设的时候没有考试!!这样就不用写得那么赶,还可以完善页面一下,可以做更多的容错处理
    
  • 相关阅读:
    Java实验四
    Java第八周学习总结
    Java实验三
    输入输出练习
    第七周
    20145113 实验二 Java面向对象程序设计
    2020-2021-1 20209306 《linux内核原理与分析》第九周作业
    2020-2021-1 20209306 《linux内核原理与分析》第八周作业
    2020-2021-1 20209306 《linux内核原理与分析》第七周作业
    2020-2021-1 20209306 《linux内核原理与分析》第六周作业
  • 原文地址:https://www.cnblogs.com/yangxy/p/7063044.html
Copyright © 2020-2023  润新知