java高级课程设计报告模板
Java 高级课程设计报告 课程设计名称:Java高级课程设计 学 期:13-14-1 班 级:计网1231班 姓 名:黄磊 指 导 老 师:刘志生、白党强 一、课程设计目的克拉玛依职业技术学院·信息工程系 《Java 高级程序设计》课程设计报 告 - 第 1页 - 课程设计是课程教学中的一项重要内容,是完成教学计划达到教学 目标的重要环节,是教学计划中综合性较强的实践教学环节,它对帮助 学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、 提高学生全面素质具有很重要的意义。 《Java高级程序设计》是一门实 用性和实践性都很强的课程,课程设计环节应占有更加重要的地位,它 是《JAVA程序设计》课程的后继。它要求学生能灵活掌握所学知识,为 后续《JSP程序设计》 、 《J2EE程序设计》等后续课程打好基础。 本课程设计的目的旨在帮助学生掌握Java高级应用相关知识,主要 包括面向对象的数据结构,Java的集合构架、多线程、国际化、反射、 泛型等内容,培养学生应用所学知识分析问题,解决问题的能力。 二、课程设计内容 项目1:编写一个Java应用程序,读取一个文本文件(以本程序源文件 为例读取) ,一次读取其内的一行文本,令每行形成一个String,并将 读出的String对象置于LinkedList中,以相反次序显示出LinkedList 内的所有内容 String s; BufferedReader in= new BufferedReader(new FileReader(“B.java“)); while((s=in.readLine())!=null) l.add(s); in.close(); for(int i=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中,输出这个集合。克拉玛依职业技术学院·信息工程系 《Java 高级程序设计》课程设计报 告 - 第 2页 - (注意,一个int型数据占4个字节) RandomAccessFile accessFile = new RandomAccessFile(f, “rw“); int[] a= new int[10]; int x,n=0;int k=0; while(n p.nl())return -1;克拉玛依职业技术学院·信息工程系 《Java 高级程序设计》课程设计报 告 - 第 3页 -if (sg() p.sg())return -1;if (xh() p.xh())return -1;elsereturn 0; }} 这道题主要用了compareTo方法,它允许在排序顺序上实现精确控制, 还可以用来控制某些数据结构的顺序。这道题就是先按年龄,然后按身 高,最后按学号来排序的。 项目4:编写一个Java网络应用程序,该应用分服务器端程序和客户端 程序两部分。服务器程序启动后,监听端口5678的请求;客户端程序启 动后,向服务器端口5678发送请求。服务器不断接收客户机所写入的信 息,并且服务器也会做出“Receive“为回应,告知客户机已接收到消息。 要求:服务器程序采用多线程开发,允许多个客户端程序同时连接。客 户机发送“End“字符串时,客户端程序退出。 (服务端程序和客户端程序 分别命名为Server.java和Client.java) class ServerThread implements Runnable {private Socket socket;public ServerThread(Socket socket) {克拉玛依职业技术学院·信息工程系 《Java 高级程序设计》课程设计报 告 - 第 4页 -this.socket = socket;}public void run() {……} 服务器端程序主要是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)统计出有多少个单词只出现了一次;