为什么温度湿度都显示0

为什么温度湿度都显示0

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() {

int i=1;

while(i<=100) {

if(flag) {

try {

wait();

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

this.setTemperature((int)Math.random()*100);

this.setHumidity((int)Math.random()*40);

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println("生成天气数据:"+this.toString());

notifyAll();

flag=true;

i++;

}

}

//读取天气的方法

public synchronized void read() {

int i=1;

while(i<=100) {

if(!flag) {

try {

wait();

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

try {

Thread.sleep(100);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println("读取天气数据:"+this.toString());

notifyAll();

flag=false;

i++;

}

}

    //重写toString方法

public String toString() {

return "温度:"+temperature+",湿度:"+humidity;

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
提问者 慕先生2101995 2019-01-05 00:11:31

为什么没有产生随机数

  • 你好同学,建议你将生成随机数的代码改为(int)(Math.random()*100);试试,需要给Math.random()*100加括号,否则生成的随机数就是0了,同学也可以自己测试一下哦,祝学习愉快~
    2019-01-06 15:03:33
  • 提问者 慕先生2101995 回复 chrismorgen #2
    好的,谢谢
    2019-01-06 15:16:36
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师