5-3自由编程
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积分~
来为老师/同学的回答评分吧
0 星