java课程设计成绩管理系统_Java课程设计–学生成绩管理系统

java课程设计成绩管理系统_Java课程设计–学生成绩管理系统一、团队名称:##团队成员林艺薇201721123032网络1712黄毓颖201721123033网络1712唐川201721123034网络1712梁才玉201721123038网络1712##任务分配#三、项目git提交记录截图#四、项目功能架构图与主要功能流程图##思维导图##成绩管理流程图#五、项目运行截图##主界面##选择用户##教师登陆界面##…

大家好,又见面了,我是你们的朋友全栈君。

一、团队名称:

##团队成员

林艺薇 201721123032 网络1712

黄毓颖 201721123033 网络1712

唐川 201721123034 网络1712

梁才玉 201721123038 网络1712

##任务分配

f97306b294800ae66ec128410609c281.png

#三、项目git提交记录截图

66eb6a6f2142c04643edf680c5468a5f.png

2a73bfaf67d0a606d7bd2de55ec6a5bf.png

a131c11f194994cd4960c04c466e5491.png

d4aa100a9dcd9a764f789fd60dd132b7.png

#四、项目功能架构图与主要功能流程图 ##思维导图

cd105a1f3c675249c3db649117139d61.png ##成绩管理流程图

36882f8c8ee8fe5ddb22facd362d482d.png

#五、项目运行截图 ##主界面

fbb87746021c2a13115bcd9b99cc2d3b.png

##选择用户

5a7d9900d3cdc8d51ab61349ebe55321.png

##教师登陆界面

a82055e7e0d10d331d63de4eccec710d.png

##教师增加学生信息

42031e26b6f887f39836afa45c17866f.png

4b22dfd210c68d3347f9f0105a480484.png

##教师查看学生信息表

71ca1368e66631ba06d31e71cdfeb485.png

##删除学生信息

57569db0be4b5fcc37faae0ddcf738c1.png

##修改学生信息

6be47700af301abca7ec4d3f77099093.png

22f23e0f4a47c4b3a32f5e3ba03829a5.png

035cdc0e6940301d95f47bd69ada83fb.png

##查找学生成绩 ###按班级查找

fc86db03ad6957c51c653e5156352c02.png

###按姓名查找

5e4ca38c07cdea4d84647509f157f7c8.png

###按学号查找

989b9a7b9a83bb2981031eec6f890719.png

##各科成绩柱状图

08c6722ca45e06007605b8edb6f8c3c8.png

9a89321b3e93c66851dfd6c9cffb5ad6.png

75c62eea4194a5fae1caec26667e3200.png

##将成绩导出到表格

5ffae248d8de66ad0c2bc9dd4d0d6d7a.png

##学生登陆界面

3723b6e5d14b6494529d1c72a6e62b6e.png

##学生功能

646746d23ebecdf7bc59173b5df9c97c.png

9d74f64f41028aee10d1da545cf2fd32.png

16543f1c46212c8f4babc4aeff110456.png

##学生成绩查询功能

333ba5fa36bce6ae842d7ed720b93918.png

3571d86e7ea6d17b101efff2b99bb503.png

##学生选课界面

a5f8d31bb90a79ee366fb6db5f9e8bd1.png

d35814fb636275f56ca16c3c88c9c679.png

#六、项目关键代码 1.数据库代码导入表格

public void LearningReport() throws SQLException {

ArrayListlist1=new ArrayList();

Connection con = null; //建立数据库连接

PreparedStatement ps = null;

ResultSet rs = null;

String sql =”select * from students “; //数据库查询表格所有记录

con = JDBCUtil.getConnection();

ps = con.prepareStatement(sql);

rs = ps.executeQuery();

while(rs.next()){

list1.add(0,rs.getString(“stunum”));

list1.add(1,rs.getString(“name”));

list1.add(2,rs.getString(“classes”));

list1.add(3,rs.getString(“gender”));

list1.add(4,rs.getString(“javaScore”));

list1.add(5,rs.getString(“mathScore”));

list1.add(6,rs.getString(“englishScore”));

System.out.println();

}

HSSFWorkbook wb=new HSSFWorkbook();//创建Workbook对象(excel的文档对象)

HSSFSheet sheet=wb.createSheet(“表”);//创建工作表

HSSFRow row1=sheet.createRow(0);

//设置单元格内容

HSSFCell cell=row1.createCell(0);

cell.setCellValue(“学生成绩表”);

//合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列

sheet.addMergedRegion(new CellRangeAddress(0,0,0,6));

//在sheet里创建第二行,创建单元格并添加表头内容

HSSFRow row2=sheet.createRow(1);

row2.createCell(0).setCellValue(“学号”);

row2.createCell(1).setCellValue(“名字”);

row2.createCell(2).setCellValue(“班级”);

row2.createCell(3).setCellValue(“性别”);

row2.createCell(4).setCellValue(“JAVA成绩”);

row2.createCell(5).setCellValue(“数学成绩”);

row2.createCell(6).setCellValue(“英语成绩”);

//在sheet里从第三行开始创建表格中学生信息

int j=1;

for(int i=0;i

HSSFRow row=sheet.createRow(++j);

row.createCell(0).setCellValue(list1.get(i++));

row.createCell(1).setCellValue(list1.get(i++));

row.createCell(2).setCellValue(list1.get(i++));

row.createCell(3).setCellValue(list1.get(i++));

row.createCell(4).setCellValue(list1.get(i++));

row.createCell(5).setCellValue(list1.get(i++));

row.createCell(6).setCellValue(list1.get(i));

}

//导入Excel表

try {

FileOutputStream fout=new FileOutputStream(“D:\\students.xlsx”);//文件输出流将数据写入表格

wb.write(fout);//保存Excel文件

fout.close();//关闭文件流

}catch(Exception e){

e.printStackTrace();

}finally {

JDBCUtil.realeaseAll(rs, null, con);

}

}

@Override

//模糊查找

public List findStudentByStunum(String stunum) {

Connection con = null;

PreparedStatement pt = null;

ResultSet rs = null;

String sql=”select * from students where stunum like ‘%”+stunum+”%'”;

List list = new ArrayList();

try {

con = JDBCUtil.getConnection();

pt = con.prepareStatement(sql);

rs = pt.executeQuery();

while (rs.next()) {

// 封装数据

Student stu = new Student();

stu.setId(rs.getInt(“id”));

stu.setName(rs.getString(“name”));

stu.setStunum(rs.getString(“stunum”));

stu.setClasses(rs.getInt(“classes”));

stu.setGender(rs.getString(“gender”));

ArrayList scoreList=new ArrayList();

Course java=new Course(“java”,rs.getDouble(“javaScore”));

Course math=new Course(“math”,rs.getDouble(“mathScore”));

Course english=new Course(“english”,rs.getDouble(“englishScore”));

scoreList.add(java);

scoreList.add(math);

scoreList.add(english);

stu.setScoreList(scoreList);

list.add(stu);

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

JDBCUtil.realeaseAll(rs, pt, con);

}

return list;

}

###2.柱状图的实现

public static JFreeChart createChart(CategoryDataset dataset)

{//创建一个JFreeChart

JFreeChart chart=ChartFactory.createBarChart(“hi”, “成绩情况”,

“人数”, dataset, PlotOrientation.VERTICAL, true, true, false);

//设置主标题

chart.setTitle(new TextTitle(“学生成绩统计”,new Font(“宋体”,Font.BOLD+Font.ITALIC,20)));

//获得图标中间部分,即plot

CategoryPlot plot=(CategoryPlot)chart.getPlot();

//获得横坐标

CategoryAxis categoryAxis=plot.getDomainAxis();

//设置横坐标字体

categoryAxis.setLabelFont(new Font(“微软雅黑”,Font.BOLD,12));

return chart;

}

public static JPanel createPanel(String course) throws SQLException

{

JFreeChart chart =createChart(createDataset(course));

//将chart对象放入Panel面板中去,ChartPanel类已继承Jpanel

return new ChartPanel(chart);

}

#七、项目代码扫描结果及改正。 ##错误一:重写类中的方法是没加方法重写标记

d2e614aa7449e88758db8e98d69ba449.png ##修改后

bb1cadd0c4916a01b1ba2a3bd257e148.png

##错误二:if语句缺少大括号

f3e008b7356bc24e803202d7bd63c5ab.png

##错误三:

517084effad724960d8dd0fd8ccf3b0e.png

#八、尚待改进或者新的想法

注册和登录功能还不太完善。

没有实现多线程。

Gui界面不太美观。

jFreeChart柱状图关闭时会默认关闭所有窗口,柱状图功能还不够完善。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156235.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mac开发php集成环境「建议收藏」

    mac开发php集成环境「建议收藏」    我是一个使用mac开发的phper,虽然使用mac开发也就不到一年,但是mac上的一些技巧还是掌握的不错的,但实际开发中光有操作技巧是不行的,环境的效率也是很重要的,因为之前一直使用homestead 虚拟机,刚开始还没感觉它有多慢,但是后来感觉homestead真是太慢了,当然这可能也跟电脑的性能有关,我经常启动好几个虚拟机,在上面跑windows系统。…

    2022年6月28日
    35
  • TCP socket 编程原理 及 使用 socket 发送HTTP请求

    TCP socket 编程原理 及 使用 socket 发送HTTP请求1.TCPsocket编程原理?了解TCPsocket编程原理如何使用socket模块如何建立TCPsocket客户端和服务端客户端和服务端之间的通信socket建立连接的过程?服务器建立监听,socket,bind,listen客户端发送请求,connect,send连接确认,accept,response首先在服务器端建立…

    2022年10月18日
    0
  • K8S状态为evicted

    K8S状态为evicted报错:xxisEvictedonxx主机查询找出Evicted状态节点kubectlgetpods|grepEvicted删除节点,自动重启kubectldeletepod$podName也可以通过脚本定时执行kubectlgetpods|grepEvicted|awk'{print$1}’|xargskubectldeletepodxargs是给命令传递参数的一个过滤器,可以将管道或标准输入的数据转换成参数原因

    2022年5月17日
    120
  • DSL和配置_ds3配置

    DSL和配置_ds3配置为什么要用DSL呢?这个问题可以算DSL应用中第二重要的问题。第一问题是我前面的讨论过的什么应用是DSL适应的范围。首先我们应该承认,DSL不是最简明且易于理解的方法。我们来跟配置文件的方式比较一下。显然DSL在比较中会落败,因为至少对客户来说不存在语法的问题。DSL的运行效率也未必就很好,至少从配置的角度来说会如此。DSL的开放效率也未必就是最好的,因为很多场景下因为DS…

    2022年10月29日
    0
  • 大数据平台建设方案(项目需求与技术方案)[通俗易懂]

    大数据平台建设方案(项目需求与技术方案)[通俗易懂]一、项目背景 “十三五”期间,随着我国现代信息技术的蓬勃发展,信息化建设模式发生根本性转变,一场以云计算、大数据、物联网、移动应用等技术为核心的“新IT”浪潮风起云涌,信息化应用进入一个“新常态”。***(某政府部门)为积极应对“互联网+”和大数据时代的机遇和挑战,适应全省经济社会发展与改革要求,大数据平台应运而生。在这里我还是要推荐下我自己建的大数据学习交流qq裙: 957205…

    2022年4月30日
    45
  • pycharm加注释的快捷方式_pycharm缩进设置

    pycharm加注释的快捷方式_pycharm缩进设置pycharm快捷键缩进选中+tab反缩进选中+shift+tab多行注释选中+ctrl+/重复这一过程取消注释

    2025年5月25日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号