小伙伴们,学习了Java多线程的知识以后,我们编写一个应用程序来读取天气数据。即,模拟通过大气温度传感器来获取温度和湿度等天气数据。
很多家庭都有温湿度计,它实际上是通过大气温度传感器来获取温度和湿度信息,并显示在表盘中的。而我们要做的程序就是模拟这个过程,生成天气数据,然后显示出来。
一、项目准备
开发工具:JDK、Eclipse
需求分析:
1、设计一个天气类Weather,用于温度和湿度数据的存放和读取。
2、设计一个线程类GenerateWeather,用于生成天气数据。模拟生成100次天气数据,每次生成天气数据需要5秒的时间。
3、设计一个线程类ReadWeather,用于读取天气数据。模拟读取100次天气数据,每次读取数据需要0.1秒的时间。
4、设计一个测试类WeatherTest,模拟生成和读取数据的过程,要求实现生成一次,紧接着进行读取,不能出现不同步的情况。
效果演示(部分截图):
详细设计:
1、 天气类Weather,包含int类型的温度(temperature)和湿度(humidity)属性,以及布尔类型的属性flag用于判断是生成还是读取天气信息。
方法包括:
(1) 温度和湿度属性的getter和setter方法
(2) 生成天气数据的方法public void generate()
使用随机数获取0-40度之间的温度,0-100之间的湿度
(3) 读取天气数据的方法public void read()
(4) 重写toString()方法
2、 生成天气线程类GenerateWeather
属性为Weather类的对象,包括构造方法和run方法。
3、 读取天气线程类ReadWeather
属性为Weather类的对象,包括构造方法和run方法。
4、 测试类WeatherTest
在主方法中模拟生成和读取数据的过程
二、整体要求:
1、 完成需求分析和详细设计中所涉及到的所有功能。
2、 代码结构要层次分明,代码编辑思路要清晰、整洁。
3、 要求Java代码书写、命名符合规范,并在代码中添加必要的注释
4、 程序运行效果与提供的页面效果图、结构保持一致
5、将作业项目导出(Export)成压缩文件
规范【10分】
每个类都封装在自己独立的 ".java"文件中;
文件、class、成员变量命名规范;
代码结构要层次分明;
Java代码规范及添加适量注释。
程序整体运行效果【10分】
程序正常运行效果,且满足效果图要求
天气类【30分】
能够完成属性定义
能够完成toString()方法定义
能够完成getter和setter方法
能够完成generate()方法和read()方法
生成天气类【15分】
线程类
能够完成需求中描述的属性定义
能够完成构造方法和run()方法的定义
读取天气类【15分】
线程类
能够完成需求中描述的属性定义
能够完成构造方法和run()方法的定义
测试类【20分】
完成主程序逻辑的编写,根据需求,实现正确的生成和读取数据,实现读写同步