柯奇豪 : 文本导入、切割文本、数据库处理、活跃度统计
黄毓明 : 切割文本、文本匹配
杨礼亮、丁水源:实现三种不一样程度的筛选投票算法
蒋熊、黄志铭:前端界面编写
林翔宇:接口定义、先后端交互html
程序运行环境:eclipse+mysql前端
主界面截图,有设置抽奖和查看抽奖结果两个选项java
设置抽奖弹窗mysql
抽奖有三个选项:普通抽奖,过滤抽奖和深度抽奖。 下面是深度抽奖的运行结果。git
public static void setFileContext(String path) throws Exception { FileReader fileReader =new FileReader(path); @SuppressWarnings("resource") BufferedReader bufferedReader =new BufferedReader(fileReader); list =new ArrayList<String>(); String str=null; String term=""; Pattern pattern = Pattern.compile("[0-9]{4}[-][0-9]{1,2}[-][0-9]{1,2}[ ][0-9]{1,2}[:][0-9]{1,2}[:][0-9]{1,2}"); while((str=bufferedReader.readLine())!=null) { if(str.trim().length()>=0) { term+=str+" "; Matcher matcher = pattern.matcher(str); if(!matcher.find()) { list.add(term + "\n"); term=""; } } for(String item:Inputtext.list.toArray(new String[Inputtext.list.size()])) { Mysql.matchSort(item); } } // System.out.println(list); }
private Set<String> namelist=new TreeSet<>(); private int repeat=1; private String list[]; public void getlist() {} public void put_Qname() { while(repeat!=0) { repeat--; int l=0; Iterator<String> iter = namelist.iterator(); while (iter.hasNext()) { list[l]= iter.next(); l++; } Random rand = new Random(); int cur=(int)(Math.random()*500); cur=cur%l; String QName=list[cur]; System.out.print(QName); namelist.remove(QName); } }
过滤抽奖github
public void put_Qname() { while(repeat!=0) { repeat--; int l=0; int f=0; Iterator<String> iter = namelist.iterator(); while (iter.hasNext()) { String s=iter.next(); for(int i=0;i<frequent[f];i++) { list[l]= s; l++; } f++; } Random rand = new Random(); int cur=(int)(Math.random()*500); cur=cur%l; String QName=list[cur]; System.out.print(QName); namelist.remove(QName); } }
深度抽奖算法
public void put_Qname() { while(repeat!=0) { repeat--; int l=0; int f=0; Iterator<String> iter = namelist.iterator(); while (iter.hasNext()) { String s=iter.next(); for(int i=0;i<frequent[f];i++) { list[l]= s; l++; } f++; } Random rand = new Random(); int cur=(int)(Math.random()*500); cur=cur%l; for(int i=0;i<l;i++) { if(i==0 && list[i]==list[i+1]) { list[i]=list[cur]; } else if(list[i]==list[i+1] && list[i]!=list[i-1]) { list[i]=list[cur]; } } rand = new Random(); cur=(int)(Math.random()*500); cur=cur%l; String QName=list[cur]; System.out.print(QName); namelist.remove(QName); } }
组员1 黄毓明
困难:
1.先后端数据交互,如何将前端须要计算的数据送到后端,如何将后端计算好的数据送到前端
2.一些写代码时的异常状况处理
解决办法:
1.先后端数据交互正在学习
2.异常状况的话主要仍是靠平时的积累,仍是要多敲代码啊!sql
组员2 杨礼亮
困难:
1.对Java语言不熟,和c语言上的语法虽然类似,可是在一天内写出程序不太现实。
2不知道怎么从数据库中返回数据到代码,因此一直没法获得能参与抽奖人的名单以及相关出现次数。
3没有与负责上一层编码的同窗对接好,对于队友设计的相关的结构体内部变量不清晰。
4在讨论中花费了不少时间,一开始对代码无从下手,浪费大量时间
解决办法:
1对Java不熟只能上网搜相关的函数使用
2数据返回目前还没弄好,由于彻底不懂怎么调用
3将获得数据的代码先设成一个函数,先编写抽奖算法数据库
组员4 丁水源
困难:
1.java不熟悉,所以遇到了一些语法上的困难。
2.一开始组长分配给个人任务不熟悉,沟通上出现了必定的误差。
3.对项目的框架理解不透彻,发生框架理解上的误差。
4.因为是第一次团体的现场编程,可能在全局和局部以及时间等的把握上出现了些许的mistakes。
解决办法:
1.经过以前学习的知识,再结合上互联网,以及小伙伴的帮助,仍是比较顺利地熟悉了java语言。
2.经过和组长的屡次交流以及和其余组员的交流,比较顺利地明白了本身的任务。
3.经过互联网以及和组员们交流,可以收获一些对此项目框架的感悟和理解。
4.吸收此次的教训,但愿在接下来的实践里,乃至从此的工做、生活里可以更进一步,减小发生此次的错误,力争避免。加油鸭~~编程
组员5 柯奇豪
困难:
虽然有一个明确的思路,可是没考虑到每一个人的我的状况,致使项目后期没办法进展,本身的能力不够
解决办法:
本次的做业没可以作好,可是接下来但愿在有限的时间里尽量的去学习,带领团队有所成果
组员6 蒋雄
困难:
作前端过程当中首先遇到的是页面图片格式不对,叠加图片过程当中出现错误,
解决办法:
经过查了一些开源代码解决了。后来主要的是先后端交互问题,如今还在学习
组员7 黄志铭
困难:
1.用html写网页界面,在写到跳转窗口的时候,因为不太熟悉Notepad,因此耗费比较多的时间找跳转小窗口
2.最后的前端与后端的交互最终未能实现,没有提早考虑到这个数据处理问题
3.用Notepad与后端调用存在问题,下次使用得考虑其余编译器,VS之类的。
解决:
1.前端与后端的交互看了不少篇博客,如今能够大体理解操做
2.前端的编译器没有选好,得改用VS或者微信小程序的编译器
若是一开始尽快肯定大体分工,不纠结于细节问题,那么应该会作比如今好一些吧。
如下部分计入我的得分:
PSP | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 5 | 5 |
· Estimate | · 估计这个任务须要多少时间 | 5 | 5 |
Development | 开发 | 180 | 265 |
· Analysis | · 需求分析 (包括学习新技术) | 40 | 60 |
· Design Spec | · 生成设计文档 | 0 | 0 |
· Design Review | · 设计复审 | 10 | 10 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 0 | 0 |
· Design | · 具体设计 | 10 | 15 |
· Coding | · 具体编码 | 120 | 180 |
· Code Review | · 代码复审 | 0 | 0 |
· Test | · 测试(自我测试,修改代码,提交修改) | 0 | 0 |
Reporting | 报告 | 80 | 100 |
· Test Repor | · 测试报告 | 60 | 60 |
· Size Measurement | · 计算工做量 | 5 | 5 |
· Postmortem & Process Improvement Plan | · 过后总结, 并提出过程改进计划 | 15 | 35 |
合计 | 285 | 370 |
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
11 | N | N | 8 | 81 | 开始编程,进一步学习Java |