-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAppliance.java
More file actions
68 lines (54 loc) · 1.55 KB
/
Appliance.java
File metadata and controls
68 lines (54 loc) · 1.55 KB
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
import java.util.Random;
public class Appliance {
private boolean type;
protected int onWattage;
private double probability;
private int location;
private String applianceId;
private boolean isOn;
private boolean isSmart;
// Constructor
public Appliance(boolean type, int onWattage, double probability, int location, String applianceId) {
this.type = type;
this.onWattage = onWattage;
this.probability = probability;
this.location = location;
this.applianceId = applianceId;
this.isOn = false; // default state is off
}
// Getter methods
public boolean getType() {
return type;
}
public int getOnWattage() {
return onWattage;
}
public double getProbability() {
return probability;
}
public int getLocation() {
return location;
}
public String getApplianceId() {
return applianceId;
}
public boolean getIsOn() {
return isOn;
}
public boolean getIsSmart() {
return isSmart;
}
public String toString() {
return location + "," + applianceId + "," + onWattage + "," + probability + "," + type;
}
public void setIsOn(boolean isOn) {
this.isOn = isOn;
}
// method to turn appliance on or off based on probability
public void updateStatus() {
Random random = new Random();
double randomValue = random.nextDouble();
// check probability to turn on/off appliance
isOn = randomValue < probability;
}
}