欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    课程设计--随机点名器.docx

    • 资源ID:780639       资源大小:119.64KB        全文页数:16页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程设计--随机点名器.docx

    第1章课题概述11.1 课程设计目的11.2 课程设计要求1第2章概要设计22.1 程序模块结构图22.2 使用外部包的确定22.3 主界面模块说明32.4 读取学生信息模块说明32.5 随机抽取学生模块说明3第3章程序功能的实现43.1 主界面模块的实现43.1.1 菜单栏的实现43.1.2 1.2点名按钮的实现43.1.3 窗口的大小和位置43.2 读取学生信息模块的实现53.2.1选择文件对话框的实现53.2.2写入带滚动条表格的实现53.3随机抽取学生模块的实现63.3.1输入信息对话框的实现63.3.2显示输入错误对话框的实现7第4章调试及发现问题的解决9第5章程序测试及分析10第6章总结14参考文献15第1章课题概述1.1课程设计目的课程设计题目:随机点名器程序实现的要点:通过开源项目jExcel或POl提供的Jar包,实现EXCel文件的读写。要求从EXCeI文件的某个Sheet中读出班级所有同学的名单,然后通过产生一个随机数选中其中一个同学回答问题,然后输入回答问题的得分,并将该得分存入EXCel表的另外一个Sheet中。1.2课程设计要求程序要求实现的功能有:(1)选择需要被读取的EXCeI文件;(2)从EXCel读取学生的名单信息;(3)产生一个随机数读取要输入分数的学生;(4)写入被抽到学生的分数;第2章概要设计2.1程序模块结构图随机点名器随机抽取学生模块读取学生信息模块主界面模块图2-1程序结构模块图2.2使用外部包的确定由于JDK提供的类库没有较好的对EXCeI文件读写功能,所以需要通过开源项目EXCeI提供的Pol包。它能方便对EXCel读写,能修饰单元格属性等功能,能满足我当前的需求。经过网上查询使用方法,在随机点名器里需要使用的地方基本可以正确使用。2 .3主界面模块说明主界面提供程序运行时出现的界面,此界面必须要有我想要实现功能的组件。具体而言,它需要有菜单,打开文件的菜单项,关闭程序的菜单项。由于初次设计程序,布局方式和界面美观性考虑的较少。3 .4读取学生信息模块说明这个模块需要弹出一个文件选择对话框,在对话框中选择我们需要的Excel文件。然后对这个EXCel文件进行读取操作,把读取到的内容显示在主界面上。还需要考虑好是以怎样的方式显示在主界面上,使得看起来简洁清楚。2. 5随机抽取学生模块说明这个模块是需要弹出一个输入文本对话框,并且需要产生一个随机数来抽取到其中一个学生。收取到学生并且输入分数后还得写入EXCel文件。还有因为是要输入分数,所以如果输入的不是一个合法的分数就得弹出一个提示错误的对话框。第3章程序功能的实现3.1主界面模块的实现3.1.1 菜单栏的实现创建出菜单栏,在栏上放菜单,菜单里放打开和退出菜单项。分别为各打开菜单项添加监听。以上过程的主要实现代码如下:JMenuBarjmb=newJMenUBar();JMenujm=newJMenU("菜单”);jmb.add(jm);JMenuItemjml=newJMenU工tem("打开");JMenuItemjm2=newJMenU工tem("退出”);jm.add(jml);jm.add(jm2);add(jmb>newBorderLayoutO.NORTH):jb=newJBUtton("开始点名”);jp=newJPanel();jml.addActionListener(newMyMenuMonitorO);jm2.addActionListener(newMyMenuMonitorO);jb.addActionListener(newMyBUttOnMOnitOP();3.1.2 点名按钮的实现设置个按钮,这是个重要的按钮,点击它就可以随机抽取学生,所以为它加上监听,监听事件并处理类。放按钮在拆分窗格的下部。以上过程主要实现代码如下:jb=newJBUttOn(“开始点名”);jb.addActionListener(newMyButtonMonitorO);setVisible(false);Stringarr=getArr(ex.getText();JTablet=newJTable(arr,title);js=newJScrollPane(t);jp=new3Panel();add(js,BorderLayout.CENTER);add(jb,BorderLayout.SOUTH);setVisible(true);3.1.3 窗口的大小和位置将创建好的窗口设置大小,位置和是否可见。以上过程主要实现代码如下:setSize(600,650);SetDefaultcioseOperation(JFrame.EXIT_0N_CL0SE);SetVisible(true);SetLOCatiOnRelatiVeTo(null);3. 2读取学生信息模块的实现3. 2.1选择文件对话框的实现创建设置好文件对话框,显示文件对话框,选择EXCel文件,以此来获取打开文件的对象引用。以上过程主要实现代码如下:if(Str.equals(“打开“)path=newOpen().getPath();)publicStringgetPath()JFileChooserjfc=newJFileChooser("D:/");jfc.setFileSelectionMode(3FileChooser.FILfS-DLDIRFCORIES);Stringpath=null;intVal=jfc.showOpenDialog(jfc);if(Val=JFileChooser.APPROVE_OPTION)path=jfc.getSelectedFile().getAbsolutePath();)returnpath;)3. 2.2写入带滚动条表格的实现此模块主要是读取EXCeI文件上所以学生的信息,并且以读取到的学生内容作为JTabIe表格的内容创建出带滚动条的表格。得到Excel文件上的信息需要得到先前被选中文件的工作簿对象,再得到该工作簿的第一个表格对象,就可以得到该表格上的内容一共有多少行,可以得到任意的单元格,从单元格上就可以得到内容数据。把这些数据内容放入二维的字符串数组str,用Str来作为表格内容。把带滚动条表格添加在拆分窗格的上部。以上过程主要实现代码如下:classMyFrameextendsJFrame/staticJTextAreajta;privatestaticfinallongSeriaLVersionUID=-6827523187297569439L;static3TabletabLe;staticStringpath;JButtonjb;JPaneljp;Stringtitle=“姓名”,“性别二”学号、“班级”;Stringtitlel="vv","性VV别“,“学V号"Jvvvv班级”;JScrollPanejs;staticStringstr;publicStringgetClassNum(Stringpath)throwsExceptionFileInputStreamfi=newFileInputStream(path);POIFSFileSystemps=newPOIFSFileSystem(fi);WorkbookWb=newHSSFWorkbook(ps);ExcelExtractorex=newExcelE×tractor(HSSFWorkbook)wb);Sheeths=wb.getSheetAt(0);introwNum=(int)(Math.random()*(hs.getLastRowNum()+1);Rowrow=hs.getRow(rowNum);Cellname=row.getCell(0);str=name.getStringCellValue();name.setCellType(Cell.CELL_TYPE_STRING);Cellsex=row.getCell(l);sex.SetCellType(Cell.CELL_TYPE_STRI/VG);Cellcoll=row.getCell(2);coll.setCellType(Cell.CELL_TYPE_STRING);CellClassNum=row.getCell(3);coll.setCellType(Cell.CELL_TYPE_STRING);return(“随机抽取到:"+name+”,+sex+*,+coll+""+classNum);publicStringgetArr(Strings)Stringstr=newString484;Stringt=s.split(',n");for(inti=l;i<t.length;i+)Stringt2=ti.split("f');for(intj=0jj<t2.length;j+)stri-lj=t2j;)returnstr;3. 3随机抽取学生模块的实现3. 3.1输入信息对话框的实现点击随机点名按钮后弹出输入信息对话框,在弹出时产生了一个随机数,用这个随机数来读取EXCel中的某一个学生,把此学生信息设置为框内显示文字。要修改EXCeI文件需要利用已创建的Excel工作薄创建新的可写入的Excel工作薄。点击对话框确定时,学生分数被写入EXCeI的一个Sheet的某一单元格,并且将学生姓名一起都被写入单元格。如果点名成功后不输入任何分数关闭,则不写入任何数据。以上过程主要实现代码如下:if(ss!=null)ss=ss.trim();tryintscore=Integer.parselnt(ss);if(score<=100&&score>=0)FileInputStreamfi=neMFileInputStream(pth);POIFSFileSystemps=newPOIFSFileSystem(fi);WorkbookWb=newHSSFWorkbook(ps);Sheeths2=wb.getSheetAt(1);introwNum=hs2.getLastRowNum()+1;Rowrowl=hs2.createRow(rowNum);Cellcell0=rowl.createCell(0);Cellcelll=rowl.CreateCell(I);cell0.SetCellValue(Open.str);celll.SetCellValue(ss);/将成绩写入指定文件中去FileOutputStreamfileut=newFileOutputStream(pth);wb.write(fileut);fileOut.close();3. 3.2显示输入错误对话框的实现把输入的字符串转换为int数据,判断整数在0到100之间就可以正常写入,如果不在这个范围内的整数就弹出错误信息对话框。但如果输入的字符串无法转换成int型数据就会产生NuniberFo

    注意事项

    本文(课程设计--随机点名器.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开