5-3编程练习请老师检查
来源:5-3 自由编程
weixin_慕村4552609
2021-12-20 23:40:17
package com.imooc.weather; public class WeatherTest { public static void main(String[] args) { Weather weather = new Weather(); new Thread(new GenerateWeather(weather)).start(); new Thread(new ReadWeather(weather)).start(); } } package com.imooc.weather; public class Weather { private int temperature; private int humidity; private boolean flag = false; public int getTemperature() { return temperature; } public void setTemperature(int temperature) { this.temperature = temperature; } public int getHumidity() { return humidity; } public void setHumidity(int humidity) { this.humidity = humidity; } public synchronized void generate() { if (flag) { try { wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } temperature = (int) (Math.random() * 40); humidity = (int) (Math.random() * 100); System.out.println("生成天气数据" + toString()); flag = true; notifyAll(); } public synchronized void read() { if (!flag) { try { wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println("读取天气数据" + toString()); flag = false; notifyAll(); } @Override public String toString() { return "[温度:" + temperature + ",湿度:" + humidity + "]"; } } package com.imooc.weather; public class GenerateWeather implements Runnable { private Weather weather; public GenerateWeather(Weather weather) { this.weather = weather; } @Override public void run() { int i = 0; while (i < 100) { weather.generate(); i++; try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } package com.imooc.weather; public class ReadWeather implements Runnable { private Weather weather; public ReadWeather(Weather weather) { this.weather = weather; } @Override public void run() { weather.read(); int i = 0; while (i < 100) { weather.read(); i++; try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
1回答
好帮手慕小蓝
2021-12-21
同学你好,同学的代码符合题目要求,逻辑清晰,书写规范,做的很棒。
祝学习愉快~
相似问题