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

2022-09-08 14:54:50 浏览数 (1)

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

一、团队名称:

##团队成员

林艺薇 201721123032 网络1712

黄毓颖 201721123033 网络1712

唐川 201721123034 网络1712

梁才玉 201721123038 网络1712

##任务分配

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

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

##成绩管理流程图

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

##选择用户

##教师登陆界面

##教师增加学生信息

##教师查看学生信息表

##删除学生信息

##修改学生信息

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

###按姓名查找

###按学号查找

##各科成绩柱状图

##将成绩导出到表格

##学生登陆界面

##学生功能

##学生成绩查询功能

##学生选课界面

#六、项目关键代码 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);

}

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

##修改后

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

##错误三:

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

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

没有实现多线程。

Gui界面不太美观。

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

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

0 人点赞