您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Java高级课程设计报告模板
Java高级课程设计报告课程设计名称:Java高级课程设计学期:13-14-1班级:计网1231班姓名:黄磊指导老师:刘志生、白党强一、课程设计目的克拉玛依职业技术学院·信息工程系《Java高级程序设计》课程设计报告-第1页-课程设计是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是教学计划中综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。《Java高级程序设计》是一门实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位,它是《JAVA程序设计》课程的后继。它要求学生能灵活掌握所学知识,为后续《JSP程序设计》、《J2EE程序设计》等后续课程打好基础。本课程设计的目的旨在帮助学生掌握Java高级应用相关知识,主要包括面向对象的数据结构,Java的集合构架、多线程、国际化、反射、泛型等内容,培养学生应用所学知识分析问题,解决问题的能力。二、课程设计内容项目1:编写一个Java应用程序,读取一个文本文件(以本程序源文件为例读取),一次读取其内的一行文本,令每行形成一个String,并将读出的String对象置于LinkedList中,以相反次序显示出LinkedList内的所有内容Strings;BufferedReaderin=newBufferedReader(newFileReader(B.java));while((s=in.readLine())!=null)l.add(s);in.close();for(inti=l.size()-1;i=0;i--)System.out.println(l.get(i)+)这道题使用到了:读取文件时用到了java.io包下的BufferedReader类;将读出的String对象置于LinkedList中时用到了java.util包下LinkedList类;主要步骤时将文件读取并置于LinkedList中,然后倒着输出;项目2:编写一个Java应用程序,利用RandomAccessFile类,把10个10到100之间互不相等的随机int型整数写入到一个名字为int.dat文件中,然后按相反顺序读出这些数据置于TreeSet中,输出这个集合。(注意,一个int型数据占4个字节)克拉玛依职业技术学院·信息工程系《Java高级程序设计》课程设计报告-第2页-RandomAccessFileaccessFile=newRandomAccessFile(f,rw);int[]a=newint[10];intx,n=0;intk=0;while(n10){x=(int)(Math.random()*89+11);for(inti=0;in;i++)if(x==a[i]){k=1;break;}if(k==0)a[n++]=x;}这道题主要用到了RandomAccessFile类,支持对随机访问文件的读取和写入,随机读取10~100之间不相等int型整数。项目3:创建学生类,至少包括学号、姓名、年龄和身高属性,一个构造方法用于设置属性,一个toString()方法用于将学生类对象转换成String对象和一个用于比较大小的方法(实现Comparable接口的compareTo方法)。要求将10名学生从大到小排序输出。(排序规则:先按年龄,然后按身高,最后按学号)publicintcompareTo(Objecto){Studentp=(Student)o;if(nl()p.nl())return1;if(nl()p.nl())return-1;克拉玛依职业技术学院·信息工程系《Java高级程序设计》课程设计报告-第3页-if(sg()p.sg())return1;if(sg()p.sg())return-1;if(xh()p.xh())return1;if(xh()p.xh())return-1;elsereturn0;}}这道题主要用了compareTo方法,它允许在排序顺序上实现精确控制,还可以用来控制某些数据结构的顺序。这道题就是先按年龄,然后按身高,最后按学号来排序的。项目4:编写一个Java网络应用程序,该应用分服务器端程序和客户端程序两部分。服务器程序启动后,监听端口5678的请求;客户端程序启动后,向服务器端口5678发送请求。服务器不断接收客户机所写入的信息,并且服务器也会做出Receive为回应,告知客户机已接收到消息。要求:服务器程序采用多线程开发,允许多个客户端程序同时连接。客户机发送End字符串时,客户端程序退出。(服务端程序和客户端程序分别命名为Server.java和Client.java)classServerThreadimplementsRunnable{privateSocketsocket;publicServerThread(Socketsocket){this.socket=socket;}克拉玛依职业技术学院·信息工程系《Java高级程序设计》课程设计报告-第4页-publicvoidrun(){……}服务器端程序主要是ServerThread类,它是套接字工厂的服务器端对应物,用来捕获与正在创建的套接字相关的各种策略。if(a1.equals(end)){socket.close();fromServer.close();toServer.close();break;}这段是客户端中在运行时输入end结束程序运行的语句。项目5:编写一个Java应用程序,使用RandomAccessFile流统计Hello.txt中的单词,要求如下:(1)计算全文中共出现了多少个单词(重复的单词只计算一次);if(map.containsKey(word)){map.put(word,Integer.parseInt(map.get(word).toString())+1);}else{map.put(word,1);}}}System.out.println(单词数量:+map.size());containsKey方法根据Container中的子Component的顺序确定遍历顺序,不可视和不可显示的部分层次结构将不被搜索。(2)统计出有多少个单词只出现了一次;ListMap.EntryString,Integerlist=newArrayListMap.EntryString,Integer();for(Iteratori=set.iterator();i.hasNext();){克拉玛依职业技术学院·信息工程系《Java高级程序设计》课程设计报告-第5页-Map.EntryString,Integerentry=(Map.EntryString,Integer)i.next();if(entry.getValue().toString().equals(1)){System.out.println(entry.getKey()+:出现一次);}list.add(entry);}通过Entry,将多次出现的单词省略,只留下出现一次的单词并输出。(3)统计并显示出每个单词出现的频率,并将这些单词按出现频率高低顺序显示出来。Collections.sort(list,newWordComparator());for(Map.EntryString,Integerentry:list){System.out.println(entry.getKey()+:+entry.getValue());}}}classWordComparatorimplementsComparator{publicintcompare(Objectarg0,Objectarg1){Map.EntryString,Integermap1=(Map.EntryString,Integer)arg0;Map.EntryString,Integermap2=(Map.EntryString,Integer)arg1;returnInteger.parseInt(map2.getValue().toString())-Integer.parseInt(map1.getValue().toString());}}Sort方法主要是请求LDAP服务器在返回搜索操作的结果前对这些结果进行排序。使用一个或多个排序键所组成的有序列表与关联的排序参数一起指定排序标准。搜索结果根据排序控件中提供的参数在LDAP服务器排序,然后返回给请求方。项目6:编写一个简单的考试系统,题库等数据存储在MySQL数据库中。启动程序后,首先要求考生输入学号、班级和姓名信息,之后随机抽取一题等待回答,回答完后抽取下一题,以此类推,做完规定数目的题后,显示成绩,考试结束(也可以将做过的题保存在数据表中以便检查修改,该功能可选)。克拉玛依职业技术学院·信息工程系《Java高级程序设计》课程设计报告-第6页-Class.forName(com.mysql.jdbc.Driver);Connectionconnection=DriverManager.getConnection(jdbc:mysql://localhost:3306/hl,root,);Statementstatement=connection.createStatement();Strings1=createtable学生(学号int,姓名varchar(10),成绩int);inty=statement.executeUpdate(s1);System.out.println(请输入你要回答的题目数量(1~1694));intz=input.nextInt();int[]a=newint[z];intx,shu=0;while(shuz){intk=0;x=(int)(Math.random()*1694);for(inti=0;ishu;i++)if(x==a[i]){k=1;break;}这道题主要是在数据库中创建一个题库,然后使用语句调用数据库中的题库,形成一个考试系统。同时要注意配java的环境,不然运行程序会出现错误。三、课程设计总结通过此次课程设计,使我更加扎实的掌握了有关编程方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中克拉玛依职业技术学院·信息工程系《Java高级程序设计》课程设计报告-第7页-遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。回
本文标题:Java高级课程设计报告模板
链接地址:https://www.777doc.com/doc-2879193 .html