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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Matlab中meshgrid的用法简介

    Matlab中meshgrid的用法简介meshgrid:网格1、主要使用的函数为[X,Y]=meshgrid(xgv,ygv);meshgrid函数生成的X,Y是大小相等的矩阵,xgv,ygv是两个网格矢量,xgv,ygv都是行向量。X:通过将xgv复制length(ygv)行(严格意义上是length(ygv)-1行)得到Y:首先对ygv进行转置得到ygv’,将ygv’复制(length(xgv)-1)次得到。…

    2022年6月12日
    89
  • Linux磁盘配额

    Linux磁盘配额

    2021年5月31日
    123
  • Mac下homebrew安装

    Mac下homebrew安装需要替换国内镜像 usr bin ruby e curl fsSLhttps cdn jsdelivr net gh ineo6 homebrew install install 该脚本用了中科大镜像加速访问 仅修改仓库地址部分 不会产生安全隐患 关于中科大所提供的 Homebrew 镜像服务 https lug ustc edu cn wiki mirrors help brew git 以下是中科大的 Homebrew 安装帮助 Homebrew

    2025年8月5日
    5
  • MPI编程简单介绍

    MPI编程简单介绍

    2021年12月9日
    36
  • pytorch dropout用法

    pytorch dropout用法链接:https://www.zhihu.com/question/67209417/answer/302434279刚踩的坑,差点就哭出来了TT.—我明明加了一百个dropout,为什么结果一点都没变使用F.dropout(nn.functional.dropout)的时候需要设置它的training这个状态参数与模型整体的一致.比如: Cla…

    2022年6月12日
    51
  • Docker 开启2375端口提供外部访问

    Docker 开启2375端口提供外部访问1、编辑docker.service#vim/usr/lib/systemd/system/docker.service在ExecStart=/usr/bin/dockerd-current后增加-Htcp://0.0.0.0:2375-Hunix://var/run/docker.sock[Unit]Description=DockerApplicationContainerEngineDocumentation=https://docs.docker.c..

    2022年5月9日
    60

发表回复

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

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