5-3自由编程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | public class Weather { //成员属性 private int temperature; //温度 private int humidity; //湿度 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 ); setTemperature(temperature); humidity = ( int )(Math.random()* 100 ); setHumidity(humidity); System.out.println( "生成天气数据" + this ); flag = true ; notifyAll(); try { Thread.sleep( 5000 ); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //读取天气数据的方法 public synchronized void read() { if (!flag) { try { wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println( "读取天气数据" + this ); flag = false ; notifyAll(); try { Thread.sleep( 100 ); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public String toString() { return "[温度:" + temperature + ", 湿度:" + humidity + "]" ; } } 我看到别人写的时候把sleep()写在实现类GenerateWeather和中,我能否写在Weather里,哪种写法更好? |
1
收起
正在回答 回答被采纳积分+1
1回答
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧