面向对象程序学生实验报告2013版 2 下载本文

System.out.print(\输入月份\ byte monthTwo= scanner.nextByte(); System.out.print(\输入日期\ byte dayTwo = scanner.nextByte();

Calendar calendar = 【代码1】 //初始化日历对象

【代码2】 //将calendar的时间设置为yearOne年monthOne月dayOne日 long timeOne =【代码3】 //calendar表示的时间转换成毫秒 calendar.set(yearTwo,monthTwo-1,dayTwo); long timeTwo=calendar.getTimeInMillis();

Date date1 = 【代码4】 // 用timeOne做参数构造date1 Date date2 =new Date(timeTwo); if(date2.equals(date1))

System.out.println(\两个日期的年、月、日完全相同\ else if(date2.after(date1))

System.out.println(\您输入的第二个日期大于第一个日期\ else if(date2.before(date1))

System.out.println(\您输入的第二个日期小于第一个日期\ long days=【代码5】//使用timeTwo,timeOne计算两个日期相隔天数 System.out.println(yearOne+\年\月\日和\

+yearTwo+\年\月\相隔\天\ } }

请补充完成上述程序,并运行截图。20分,每空4分

1: 2: 3: 4: 5:

任务3 集合对象Map用法

现要求设计一个工厂类Factory,该类不可以实例化。该类提供一个 “String getStudentID(String className)”。改类是用于新生报到注册时,指定一个班级,顺序得到一个该班的学号。如“信A0631”班现有43人,如果getStudentID(“信A0631”),那么得到”信A063144”的新学号。30分

请设计一个RandomList类,该继承ArrayList类,该类同时有三个类成员变量:int count,int min,int max同时该类提供一个”createRandom()”的方法用来生成指定count个,从min到max的不重复的整数。(随机数的生成请查找帮助文档:java.util. Random) 此题不计入总分。

任务4 多线程互斥

现有一个系统要求模拟生产者和消费者的运行过程。其要求如下:

有一整数型数组,该数组最多保存10个元素,现在要求设计一个生产者的线程类,该类每0.2秒生产一个[1,40]的随机整数,当数组放满了就停1秒钟不生产随机数;请设计一个消费者的线程类,该类是每隔指定的休眠时间后从数组中取一个数(数组是“先进后出”模式),直到数组取空就休眠0.5秒,在调试时请生成两个消费者实例,其中消费者实例的休眠时间分别是0.3秒和0.4秒,同时设成一个生产者实例。要求一定要满足线程的互斥访问。30分

实 验 报 告

院(系):信息学院 课程名称:面向对象程序设计(Java) 日期: 班级 专业 实验 名称 所用 软件 实 验 目 的 或 要 求 信息管理与信息系统 学号 姓名 流操作 JDK、记事本、IDE 实验室 计算机号 成绩评定 教师签名 601 掌握数据流概念、对象流的功能和基本使用方法;熟练掌握InputStream类、OutputStream类、Reader类、Writer类;简单掌握文件的操作方法; 任务1 举重成绩单

现在有如下格式的举重成绩单(文本格式)score.txt:

姓名:张三,抓举成绩106 kg,挺举189kg。 姓名:李四,抓举成绩108 kg,挺举186kg。 姓名:周五,抓举成绩112 kg,挺举190kg。

要求按行读入取成绩单,并在该行的后面尾加上该运动员的总成绩,然后再将该行写入到一

个名字为socreAnalysis.txt的文件中。

程序模板

请指导手册P90的相关要求要求,将【代码】替换为Java程序代码。 AnalysisResult.java

import java.io.*; import java.util.*;

public class AnalysisResult {

public static void main(String args[]) { File fRead = new File(\ File fWrite = new File(\

try{ Writer out = 【代码1】//以尾加方式创建指向文件fWrite的out流 BufferedWriter bufferWrite = 【代码2】//创建指向out的bufferWrite流 Reader in = 【代码3】//创建指向文件fRead的in流

BufferedReader bufferRead =【代码4】//创建指向in的bufferRead流 String str = null;